I don't know if it is really an ebuild bug, portage issue or what... But : # revdep-rebuild -p -v Configuring search environment for revdep-rebuild Checking reverse dependencies... Packages containing binaries and libraries broken by a package update will be emerged. Collecting system binaries and libraries... done. (/root/.revdep-rebuild.1_files) Collecting complete LD_LIBRARY_PATH... done. (/root/.revdep-rebuild.2_ldpath) Checking dynamic linking consistency... broken /usr/lib/gstreamer-0.8/libgstalsa.so (requires libgstinterfaces-0.8.so.0) broken /usr/lib/gstreamer-0.8/libgstossaudio.so (requires libgstinterfaces-0.8.so.0) broken /usr/lib/gstreamer-0.8/libgstalsa.la (requires /usr/lib/libgstinterfaces-0.8.la) broken /usr/lib/gstreamer-0.8/libgstossaudio.la (requires /usr/lib/libgstinterfaces-0.8.la) done. (/root/.revdep-rebuild.3_rebuild) Assigning files to ebuilds... done. (/root/.revdep-rebuild.4_ebuilds) Evaluating package order... done. (/root/.revdep-rebuild.5_order) All prepared. Starting rebuild... emerge --oneshot -p -v =media-plugins/gst-plugins-oss-0.8.11 =media-plugins/gst-plugins-alsa-0.8.11 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] media-libs/gst-plugins-0.8.11 USE="alsa oss -debug -esd" 0 kB [ebuild R ] media-plugins/gst-plugins-oss-0.8.11 0 kB [ebuild R ] media-plugins/gst-plugins-alsa-0.8.11 0 kB And after : # emerge --depclean -p -v [...] >>> These are the packages that would be unmerged: media-libs/gst-plugins selected: 0.8.11 protected: none omitted: none I have this each time. Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r9 i686) ================================================================= System uname: 2.6.16-gentoo-r9 i686 Intel(R) Celeron(R) CPU 2.66GHz Gentoo Base System version 1.6.15 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib/X11/xkb /usr/lib/fax /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer" DISTDIR="/download/Linux/gentoo/portage" FEATURES="autoconfig distcc metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirror.uni-c.dk/gentoo/ http://mirrors.tds.net/gentoo http://gentoo.osuosl.org/" LANG="fr_FR@euro" LINGUAS="fr" MAKEOPTS="-j7" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://novazur.fr/gentoo-portage" USE="x86 X a52 aac acl acpi alsa apache2 audiofile avi bash-completion berkdb bitmap-fonts caps cli crypt cups divx4linux dlloader dri eds emboss encode fbcon firefox flac foomaticdb fortran gdbm gif gstreamer gtk gtk2 imlib ipv6 isdnlog jpeg libg++ libwww mad matroska mikmod mmx motif mp3 mpeg ncurses nls nptl nsplugin ogg oggvorbis opengl oss pam pcre pdflib perl png pppd python qt qt3 qt4 quicktime readline reflection sdl session sox spell spl sse ssl tcpd theora tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xmms xorg xpm xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_fr userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
*** Bug 140592 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of 4698 *** *** This bug has been marked as a duplicate of 4698 ***
Please attach the output of `emerge --pretend --debug --depclean`.
Created attachment 91918 [details] emerge_pretend_debug_depclean.log
It seems that gst-plugins-0.8.11 isn't pulled into the dependency graph because gst-plugins-oss-0.8.11 and gst-plugins-alsa-0.8.11 aren't pulled in either. That makes we wonder why depclean doesn't want to remove the other two. I'll have to research that some more...
They're all in there... $ grep -E '^ebuild' depclean-debug | grep gst ebuild: media-libs/gstreamer-0.10.8 ebuild: media-libs/gst-plugins-base-0.10.8 ebuild: media-plugins/gst-plugins-alsa-0.10.4 ebuild: media-plugins/gst-plugins-oss-0.10.2 ebuild: media-plugins/gst-plugins-xvideo-0.10.4-r1 ebuild: media-plugins/gst-plugins-x-0.10.4
They're all there, neglecting versions. Perhaps we should modify depclean so that it removes all versions that aren't explicitly pulled into the depgraph. We could make an exception for packages in the world and system sets, keeping all slots (whether they're pulled into the depgraph or not).
(In reply to comment #7) > We could make an exception for packages in the world and system sets, keeping > all slots (whether they're pulled into the depgraph or not). Actually, I wouldn't exempt system packages. But world packages should be exempt since there's currently no way of know which slots the user wants to keep (atoms in the world file aren't specific enough).
Created attachment 91960 [details, diff] remove slots that aren't explicitly pulled into the depgraph This patch will make depclean remove slots that aren't explicitly pulled into the depgraph. It exempts both system and world packages, since it's not possible to know which slots of those that the user wants to keep. It would be possible to remove the exemption for system packages if we change the behavior so that system packages may be added to the world file when the user explicitly merges them.
Created attachment 91962 [details, diff] remove slots that aren't explicitly pulled into the depgraph This fixes a bug in the previous patch so that atoms from the world/system sets are correctly compared with the unversioned atoms from the explicitly required set.
Created attachment 91963 [details, diff] remove slots that aren't explicitly pulled into the depgraph I've fixed one more bug and now it seems to work well. It should cause depclean to remove the unneeded gst-plugins-oss-0.8.11 and gst-plugins-alsa-0.8.11 slots (if those packages aren't listed in /var/lib/portage/world).
This is fixed in svn r3914. The other side of this is that it may be necessary to alter the depgraph behavior so that it doesn't pull in unnecessary slots as part of an upgrade.
This has been released in 2.1.1_pre3-r2.