Why do many GNOME application packages depend on `libunity9`?
When investigating this question, I discovered that many GNOME applications' packages depend on the libunity9
package.
If I try to uninstall libunity9
on Precise, it tries to uninstall lots of GNOME applications:
MiJyn said in a comment,
how could the ubuntu developers possibly think that would be a good idea? Ubuntu is starting to be more and more like windows :(
The libunity9
package is described as:
binding to get places into the launcher - shared library
libunity is a shared library to be able to interact with the launcher and add places in Unity environment.
This package contains shared libraries to be used by applications
So obviously it's a component of Unity. It is odd that GNOME applications depend on Unity. Since Unity is an Ubuntu-specific addition, upstream GNOME apps shouldn't be depending on it.
Why these dependencies?
Solution 1:
In the case of Shotwell and Geary (and probably many other apps), libunity support is a compile-time option set when you run ./configure. That way it's enabled when Ubuntu builds it, but other distros can leave it off if they want to.
Unfortunately that means Ubuntu derivatives that don't use libunity either have to rebuild the .deb without Unity support, or use the official Ubuntu-compiled package and accept that it requires an unnecessary package.
Keep in mind that libunity is not Unity. For example, Elementary OS uses libunity for their own custom dock to display badges on top of the icons.
What any of this has to do with making Ubuntu "more and more like windows" is beyond me, particularly since Windows has no package management system.
Solution 2:
$ apt-cache rdepends libunity9
libunity9
Reverse Depends:
libunity9:i386
libunity9:i386
libunity-dev:i386
xchat-indicator
wallch
unity-china-music-scope
psensor
liferea
libunity-tools
geary
diodon-plugins
xchat-gnome-indicator
unity-webapps-service
unity-scope-musicstores
unity-lens-shopping
unity-lens-music
unity-lens-gwibber
unity-lens-files
unity-lens-applications
thunderbird-gnome-support
telepathy-indicator
shotwell
nautilus
libunity-dev
libunity-dev
libbrasero-media3-1
gir1.2-unity-5.0
evolution-indicator
empathy
deja-dup
All of the applications that depend on libunity9
actually use the library for Unity specific integrations like launcher badges, progress bar and urgency animation. If I am not wrong, the dependency on this library is actually Ubuntu specific modification to each of the GNOME application and probably has nothing to do with the upstream versions.