Ubuntu – Why would installing one unity-scope remove ubuntu-desktop

aptdependenciespackage-management

I wanted to install unity-scope-github but was faced with a surprising

The following package was automatically installed and is no longer required:
session-shortcuts
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  ubuntu-desktop unity unity-scope-home unity-tweak-tool
The following NEW packages will be installed:
  unity-scope-github

Now this is probably a bug in some old/not actively maintained package which will be reported as soon as I have understood the issue.

My real question: How can I see why apt reaches the conclusion that installing one additional scope requires the removal of two useful meta-packages and unity-scope-home.

Is this an indication of problems in the database?


Annotation: session-shortcuts is only "no longer required" when I try to install unity-scope-github, before this sudo apt autoremove yields no result at all.


I know unity-scope-github is quite old/not actively maintained and I can and will live very well without it

Best Answer

Install aptitude if you don't have it installed:

sudo apt install aptitude

Then run:

aptitude why-not unity-scope-github

It will give you an output like:

i   unity            Depends   unity-scope-home  
i A unity-scope-home Conflicts unity-scope-github

So we can see that unity depends on unity-scope-home, and unity-scope-home is in conflict with unity-scope-github.

The other packages of yours also are a part of these dependencies, e.g: if you run:

apt-cache depends unity-tweak-tool

You will find out that it depends on unity .

And about the session-shortcuts, If you run:

apt-cache rdepends session-shortcuts

You will get:

session-shortcuts
Reverse Depends:
  unity
  unity

That means this package was installed by unity, and now that unity is going to be removed, you no longer need it.