libgstreamer0.10-0 dependant on non-essential packages?

Asked by Allan MacKinnon on 2007-08-13

Binary package hint: libgstreamer0.10-0

I'm trying to solve dependency irregularities so I open Synaptic every now and then and see what 'completely removing' packages does.

Trying to uninstall libgstreamer0.10-plugins-base-0.10 or libgstreamer0.10-0 I noticed that it also tries to remove:

alacarte
nautilus
openoffice
libwxbase2.8-0
libwxgtk2.8-0

These packages should not be dependent on any gstreamer packages so why are they being removed with it?

There must be a dependency error somewhere.

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu gstreamer0.10 Edit question
Assignee:
No assignee Edit question
Last query:
2007-08-16
Last reply:
2007-08-16
Cesare Tirabassi (norsetto) said : #1

You can find reverse dependancies with this command (update your local cache first):

cesare@desktop:~/gnome-mplayer$ apt-cache rdepends libgstreamer-plugins-base0.10-0
libgstreamer-plugins-base0.10-0
Reverse Depends:
  wx-common
  thoggen
  telepathy-stream-engine
  swf-player
  subtitleeditor
  python-pigment
  libwxgtk2.8-0
  libwxbase2.8-0
  libgstreamer0.10-ruby1.8
  libclutter-gst-0.1-0
  gstreamer0.10-sdl
  gstreamer0.10-plugins-ugly
  gstreamer0.10-plugins-farsight
  gstreamer0.10-plugins-bad
  gstreamer0.10-gl
  gstreamer0.10-ffmpeg
  gnash-common
  cheese
  brasero
  bmpx
  gstreamer0.10-plugins-bad-multiverse
  totem-gstreamer
  rhythmbox
  python-gst0.10-dbg
  python-gst0.10
  openoffice.org-core
  libgstreamer0.10-0
  libgstreamer-plugins-pulse0.10-0
  libgstreamer-plugins-base0.10-dev
  kaffeine-gstreamer
  gstreamer0.10-x
  gstreamer0.10-plugins-good
  gstreamer0.10-plugins-base-dbg
  gstreamer0.10-plugins-base
  gstreamer0.10-esd
  gstreamer0.10-alsa
  gnome-media
  gnome-control-center
  gnome-applets

As you can see libwxbase2.8-0, libwxgtk2.8-0 and openoffice.org-core are direct dependancies of it.

Infact, removing libgstreamer0.10-0 removes quite a lot of packages which either depends on it directly or through other packages:

cesare@desktop:~/gnome-mplayer$ sudo apt-get remove -s libgstreamer0.10-0
[sudo] password for cesare:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libneon26 libgpod2
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  alacarte fast-user-switch-applet gnome-app-install gnome-applets
  gnome-control-center gnome-games gnome-media gnome-panel gnome-power-manager
  gnome-session gnome-terminal gstreamer0.10-alsa gstreamer0.10-esd
  gstreamer0.10-gnomevfs gstreamer0.10-plugins-base
  gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good
  gstreamer0.10-tools gstreamer0.10-x libdeskbar-tracker
  libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 nautilus
  nautilus-cd-burner openoffice.org openoffice.org-base openoffice.org-calc
  openoffice.org-common openoffice.org-core openoffice.org-draw
  openoffice.org-gnome openoffice.org-gtk openoffice.org-impress
  openoffice.org-math openoffice.org-style-human openoffice.org-writer pidgin
  python-gst0.10 python-uno rhythmbox serpentine sound-juicer totem
  totem-gstreamer totem-mozilla tracker tracker-search-tool ubuntu-desktop
0 upgraded, 0 newly installed, 48 to remove and 0 not upgraded.
Remv ubuntu-desktop [1.61]
Remv alacarte [0.11.3-1ubuntu1]
Remv fast-user-switch-applet [2.18.0-1ubuntu1]
Remv gnome-app-install [0.4.6-0ubuntu1]
Remv gnome-applets [2.19.1-0ubuntu2]
Remv nautilus-cd-burner [2.19.6-0ubuntu2]
Remv nautilus [1:2.19.6-0ubuntu2]
Remv gnome-terminal [2.18.1-1ubuntu2]
Remv gnome-session [2.19.6-0ubuntu1]
Remv gnome-panel [1:2.19.5-0ubuntu5]
Remv gnome-control-center [1:2.19.6-0ubuntu3]
Remv gnome-games [1:2.19.6-0ubuntu2]
Remv gnome-media [2.18.0-2ubuntu3]
Remv gnome-power-manager [2.19.6-0ubuntu2]
Remv totem-mozilla [2.19.6-0ubuntu1]
Remv totem [2.19.6-0ubuntu1]
Remv totem-gstreamer [2.19.6-0ubuntu1]
Remv rhythmbox [0.11.1-0ubuntu3]
Remv sound-juicer [2.19.2-0ubuntu1]
Remv serpentine [0.7-4ubuntu3]
Remv gstreamer0.10-plugins-good [0.10.6-0ubuntu1]
Remv gstreamer0.10-alsa [0.10.14-1ubuntu2]
Remv gstreamer0.10-esd [0.10.6-0ubuntu1]
Remv gstreamer0.10-gnomevfs [0.10.14-1ubuntu2]
Remv gstreamer0.10-plugins-base [0.10.14-1ubuntu2]
Remv gstreamer0.10-plugins-base-apps [0.10.14-1ubuntu2]
Remv gstreamer0.10-tools [0.10.14-1ubuntu1]
Remv gstreamer0.10-x [0.10.14-1ubuntu2]
Remv libdeskbar-tracker [0.6.1-0ubuntu1]
Remv python-gst0.10 [0.10.8-1ubuntu1]
Remv openoffice.org [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-writer [2.3.0~src680m224-1ubuntu2]
Remv python-uno [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-math [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-impress [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-gnome [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-gtk [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-draw [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-calc [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-base [2.3.0~src680m224-1ubuntu2]
Remv openoffice.org-core [2.3.0~src680m224-1ubuntu2] [openoffice.org-common ]
Remv openoffice.org-common [2.3.0~src680m224-1ubuntu2] [openoffice.org-style-human ]
Remv openoffice.org-style-human [2.3.0~src680m224-1ubuntu2]
Remv libgstreamer-plugins-base0.10-0 [0.10.14-1ubuntu2]
Remv tracker-search-tool [0.6.1-0ubuntu1]
Remv tracker [0.6.1-0ubuntu1]
Remv pidgin [1:2.1.0-1ubuntu2]
Remv libgstreamer0.10-0 [0.10.14-1ubuntu1]

nautilus is an indirect dependancy (for instance through gnome-control-center)
alacarte is an indirect dependancy (through gnome-panel and gnome-control-center)

What I'm really after is a way to reduce the dependency mess I see in packages. For example, I'm surprised how many seemingly unrelated packages try and remove alacarte when I try and remove them.

It seems gnome-control-center should be repackaged into its seperate components since this is obviously causing some of the problems. This issue of 'indirect dependencies' seem to be at fault. There has to be a better way.

I get the feeling libgstreamer0.10-0 is a dependency of gnome-control-center because of the gnome-sound-properties component.

My suggestion would be to serperate the components of gnome-control-center so they can be installed and removed independently or have them all installed by the gnome-control-panel package as dependencies.

I'm actually starting to do this myself but it would be better for the Ubuntu team to do it themselves.

Is there a way to make this a part of the Wishlist?

'Serperate the components of gnome-control-center so they can be installed and removed independently or have them all installed by the gnome-control-panel package as dependencies.'

Cesare Tirabassi (norsetto) said : #4

Of course you can, just file a bug report against gnome-control-center, express your concerns and actually would be nice if you could include a possible solution too.

I've begun to divide the gnome-control-center package into its seperate components. The hardest part is dividing the depends listed in the control file to the necessary component.

I would love a guide to show what belongs to what. I would also love to know how to submit the debs after i'm done.

Cesare Tirabassi (norsetto) said : #6

I guess we are talking about runtime dependencies. Of course, it helps knowing the packages, in the absence of that you can always use some utility or script.
I have one in my bin directory, I haven't used it much though:

#!/bin/sh
strace -f -o /tmp/log ./configure
# or make instead of ./configure, if the package doesn't use autoconf
for x in `dpkg -S $(grep open /tmp/log|\
                        perl -pe 's!.* open\(\"([^\"]*).*!$1!' |\
                        grep "^/"| sort | uniq|\
                        grep -v "^\(/tmp\|/dev\|/proc\)" ) 2>/dev/null|\
                        cut -f1 -d":"| sort | uniq`; \
        do \
        echo -n "$x (>=" `dpkg -s $x|grep ^Version|cut -f2 -d":"` "), "; \
        done

I got it off some guide, don't remember which one (should be pretty similar to dpkg-depcheck which you can also check).
If the source files are not many, you can also check the header files.

And you don't submit debs, you submit the source package; before that it would perhaps be better to submit your debian/control(s) with your splitting proposal.
Anyhow, before doing all the work I would also check to see how your proposal is received first.

I'm essentially taking their gnome-control-center package and repackaging the components. They already used the source code to make the original.

dpkg-depcheck does not exist in Synaptic.

What header files are you talking about?
How do I submit my proposal?
Where do I submit my debian/controls for approval?

Who the hell makes those scripts?! I can't even figure out what the hell it does!

Cesare Tirabassi (norsetto) said : #8

1) dpkg-depcheck is part of the devscripts package.
2) The source header files (assuming they are in C, C++ etc.)
3) You should open a bug report explaining your problem and how you would split the packages
4) You should attach them to the bug report
5
) The DEVIL......

Can you help with this problem?

Provide an answer of your own, or ask Allan MacKinnon for more information if necessary.

To post a message you must log in.