Hi there!
Again, this is just something I am curious about, not a real problem.
emerge -p --depclean gives me this output:
[...]
Calculating dependencies... done!
>>> Checking for lib consumers...
>>> Assigning files to packages...
* In order to avoid breakage of link level dependencies, one or more
* packages will not be removed. This can be solved by rebuilding the
* packages that pulled them in.
*
* dev-libs/elfutils-0.131-r2 pulled in by:
* dev-util/ddd-3.3.12-r1 needs libelf.so.1
[...]
And some more of that involving media-libs/libcddb-1.3.2, media-
sound/esound-0.2.41, sys-libs/db-4.5.20_p2-r1 and sys-libs/db-4.6.21_p4.
Okay, ddd needs libelf.so.1, provided by elfutils. Still the same when I
rebuild ddd. So, why does this output appear at all? ddd needs
libelf.so.1, this is in elfutils, so of course elfutils is needed just
like any other package.
Oh, wait.... I think I got it. emerge -pe ddd dos NOT list elfutils. So is
this a bug in the ddd ebuild, not having elfutils as a dependency? And the
same would be true for the other packages? Should I file some bugs?
Hmmmm. Now I got it. ddd does indeed not need elfutils. But it uses it
when it is available. After removing elfutils, ddd still builds. Starting
the ddd configure script in by hand with the --help option does not show
options like --without-elf, so it's not the ebuild's fault that ddd makes
use of the libelf library when it is available.
Still, this is ugly I think. Another part of the emerge --depclean output
is:
* media-sound/esound-0.2.41 pulled in by:
* app-office/gnucash-2.2.9-r1 needs libesd.so.0
* gnome-extra/gnome-media-2.26.0-r1 needs libesd.so.0
* gnome-extra/nautilus-cd-burner-2.24.0 needs libesd.so.0
* gnome-extra/yelp-2.26.0 needs libesd.so.0
* media-libs/smpeg-0.4.4-r9 needs libesd.so.0
* media-sound/amarok-1.4.10_p20090130-r3 needs libesd.so.0
* media-sound/rhythmbox-0.11.6-r1 needs libesd.so.0
* media-sound/synaesthesia-2.4 needs libesd.so.0
* media-video/transcode-1.0.7 needs libesd.so.0
I do not have esd in my USE flags. Looks like all those packages use it
anyway when it is available.
Should some bugs be filed? And if so, should they go:
- To the ebuild maintainers? But they probably cannot do much about it,
apart from patching the package's autoconf stuff.
- To upstream? Well, would they consider this this a bug at all, or a mere
problem with Gentoo's special build system, that wants to know all the
dependencies?
- To the doc team? Suggesting that the emerge --depclean output should
change from:
* In order to avoid breakage of link level dependencies, one or more
* packages will not be removed. This can be solved by rebuilding the
* packages that pulled them in.
to something like:
* In order to avoid breakage of link level dependencies, one or more
* packages will not be removed. If you like them to be removed, do so
* manually, and run revdep-rebuild afterwards to rebuild the packages
* without the libraries. We are sorry, this is an upstream problem with
* bad configure files and we cannot do much about it. Use quickpkg
* before removing the packages, so if anything breaks you can get them
* back quickly. Good luck.
Wonko