# USE="-oggvorbis" emerge kdemultimedia -vp These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] media-libs/libfame-0.9.0 -debug +mmx +sse 231 kB [ebuild N ] media-libs/libogg-1.1 276 kB [ebuild N ] media-libs/flac-1.1.0-r2 -debug +sse -xmms 1,173 kB [ebuild N ] media-libs/xine-lib-1_rc4-r1 +X -aalib +alsa +arts +avi -debug -directfb -dvd -esd -gnome -ipv6 -nls -oggvorbis +sdl -speex -theora 6,777 kB [ebuild R ] kde-base/kdemultimedia-3.2.3 +alsa +arts -debug -debug +encode -flac -gstreamer -oggvorbis 0 kB Since I'm using the -oggvorbis flag, I don't want libogg to be emerged. Reproducible: Always Steps to Reproduce: 1. 2. 3.
it's flac that depends on libogg, so this bug can be interpreted as a request for the flac mainteiner to make ogg support in flac conditional (libogg specify a format for multimedia content, libvorbis implements a specific compression, ogg support in flac means support to store flac-compressed data in a ogg file, so the 'oggvorbis' flag is a bit vague here, it should have been split in first place, so it's a tricky situation)
That is another problem I didn't notice in the first place. kdemultimedia is using the -flac flag, still that package is included in the would-merge list. A little digging through ebuilds confirmed that xine-lib is the culprit. Generally speaking, an interesting pattern is emerging (no pun intended ;-) ). We have package A with an "hard" dependency on package B and a conditional one on C (through an use-flag). But then, B depends on C and that makes A use-flag useless (if the use flag is "false", the situation seems even worse: package C may be installed, but A won't use it). I think a script could be made to find such loops...
yes, the situation is quite messy, xine should be conditional in kdemultimedia (it is in 3.3_betas) and the flac dep of xine should be conditional, too. The fact that upstream devs do not provide appropriate --with or --enable configure switch worsen everything.
Closing now. See bug 81966 for a general discussion about --with* and --enable* switches.
...