emerge -g (or FEATURES=getbinpkg) fails to fully detect deep updates -- in particular, those with new USE flags. example: emerge -atvuND world Code: These are the packages that I would merge, in reverse order: Calculating world dependencies ...done! [ebuild U ] app-portage/gentoolkit-0.2.0-r3 [0.2.0-r2] 0 kB [ebuild R ] app-cdr/k3b-0.12.4a +arts* -css -debug +dvdr -encode +ffmpeg +flac -hal +kde +kdeenablefinal +mp3 -musepack +vorbis -xinerama 0 kB [ebuild R ] media-sound/normalize-0.7.6-r2 +audiofile* +mad +nls -xmms 0 kB [ebuild R ] media-video/gxine-0.4.5 -lirc* +nls -nsplugin 1,291 kB [nomerge ] kde-base/kde-meta-3.4.1 -accessibility [ebuild R ] kde-base/kdeutils-meta-3.4.1 +crypt -lirc* 0 kB [ebuild R ] media-gfx/gimp-2.2.8-r1 -aalib (-altivec) -debug +doc -gimpprint +gtkhtml -hardened +jpeg +lcms* +mmx +mng +png +python -smp +sse +svg +tiff +wmf 0 kB [nomerge ] gnome-base/librsvg-2.9.5 -debug -doc -gnome +zlib [ebuild R ] gnome-extra/libgsf-1.12.1 +bzip2* -debug -doc -gnome -static 0 kB [ebuild R ] app-arch/tar-1.15.1 -build +bzip2* +nls -static 0 kB [nomerge ] app-office/abiword-2.2.11 -debug -gnome +jpeg +spell +xml2 [ebuild R ] app-text/wv-1.0.0-r1 +wmf* +xml2 0 kB [nomerge ] app-office/lyx-1.3.6 +cjk +cups -debug +nls +qt [ebuild R ] media-gfx/imagemagick-6.2.4.2-r1 +X +cups -doc -fpx -graphviz -jbig +jpeg +lcms* +mpeg +perl +png +tiff +truetype +wmf* +xml2 0 kB [ebuild R ] media-sound/mpd-svn-20051009-r1 +aac +alsa -ao +audiofile* +flac +icecast -ipv6 +mad +mikmod +mp3 -musepack +oss +unicode +vorbis 0 kB [nomerge ] net-www/mplayerplug-in-2.80 +gtk2 [ebuild R ] media-video/mplayer-1.0_pre7-r1 -3dfx +3dnow +3dnowext +X +aac -aalib +alsa (-altivec) +arts -bidi -bl +cdparanoia -cpudetection -custom-cflags -debug +dga -directfb -doc -dts -dv -dvb +dvd +dvdread -edl +encode -esd -fbcon -ggi +gif +gtk -i8x0 -ipv6 -jack -joystick +jpeg -libcaca -lirc* -live -lzo +mad -matroska -matrox +mmx +mmxext -mythtv -nas +nls -nvidia +opengl +oss +png +real -rtc -samba +sdl +sse -sse2 -svga -tga +theora +truetype +v4l +v4l2 +vorbis +win32codecs -xanim -xinerama -xmms +xv +xvid +xvmc 7,613 kB [ebuild U ] media-libs/libdvdread-0.9.4-r1 [0.9.4] -static 257 kB [ebuild U ] media-libs/libdvdcss-1.2.9 [1.2.8] -doc -static 276 kB [nomerge ] net-libs/gecko-sdk-1.7.12-r1 +crypt -debug -gnome -ipv6 +java -ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznoxft -mozsvg -postgres +ssl +truetype -xinerama -xprint [ebuild R ] app-crypt/gnupg-1.4.1 +X +bzip2* -caps +curl -ecc -idea -ldap +nls +readline (-selinux) -smartcard +zlib 0 kB [ebuild R ] net-misc/curl-7.15.0 -ares -gnutls +idn* -ipv6 -kerberos -krb4 -ldap +ssl -test 0 kB [ebuild U ] media-gfx/grace-5.1.18 [5.1.14] -debug -fftw +jpeg -netcdf +pdflib +png 2,342 kB [ebuild R ] sys-apps/grep-2.5.1-r8 -build +nls +pcre* -static 0 kB Total size of downloads: 11,781 kB Compare this to emerge -atvuND -g world Code: Calculating world dependencies ...done! [binary U ] app-portage/gentoolkit-0.2.0-r3 [0.2.0-r2] [ebuild R ] app-cdr/k3b-0.12.4a +arts* -css -debug +dvdr -encode +ffmpeg +flac -hal +kde +kdeenablefinal +mp3 -musepack +vorbis -xinerama 0 kB [ebuild R ] media-video/gxine-0.4.5 -lirc* +nls -nsplugin 1,291 kB [nomerge ] kde-base/kde-meta-3.4.1 -accessibility [ebuild R ] kde-base/kdeutils-meta-3.4.1 +crypt -lirc* 0 kB [nomerge ] net-www/mplayerplug-in-2.80 +gtk2 [ebuild R ] media-video/mplayer-1.0_pre7-r1 -3dfx +3dnow +3dnowext +X +aac -aalib +alsa (-altivec) +arts -bidi -bl +cdparanoia -cpudetection -custom-cflags -debug +dga -directfb -doc -dts -dv -dvb +dvd +dvdread -edl +encode -esd -fbcon -ggi +gif +gtk -i8x0 -ipv6 -jack -joystick +jpeg -libcaca -lirc* -live -lzo +mad -matroska -matrox +mmx +mmxext -mythtv -nas +nls -nvidia +opengl +oss +png +real -rtc -samba +sdl +sse -sse2 -svga -tga +theora +truetype +v4l +v4l2 +vorbis +win32codecs -xanim -xinerama -xmms +xv +xvid +xvmc 7,613 kB [binary U ] media-libs/libdvdread-0.9.4-r1 [0.9.4] -static [binary U ] media-libs/libdvdcss-1.2.9 [1.2.8] -doc -static [binary U ] media-gfx/grace-5.1.18 [5.1.14] -debug -fftw +jpeg -netcdf +pdflib +png Total size of downloads: 8,905 kB This is a critical bug: It misses updates on any machine with FEATURES="getbinpkg" enabled, making build-once-install-everywhere on homogeneous networks useless.
2) fails to detect differing kernel versions for module packages, the only way i can figure to make a FEATURES=getbinpkg system to not put some binary stuff into /lib/modules instead of build for the local kernel version is rm -rf various stuff in /usr/portage/packages 3) with FEATURES=buildpkg, package is generated for *-sources packages, which is pointless.. 4) a cosmetic annoyance, theres no 'USEPKG' option in features, however there is a GETBINPKG, which means if you dont have a PORTAGE_BINHOST and rather just nfs share your packages dir, youll get a big red, but harmless warning.
-D does not work with binary packages (feature vs bug). Only RDEPEND's are used for binary packages.
(In reply to comment #2) Can you give some more details on this? How is ths a feature if -D doesn't work? How else do these dependencies get updated then if you use FEATURE="getbinpkg">?
what solution do we have for the deep-getbinpkg/usepkg-problem? - and imho it is not small one - it is not possible to install a full-functional system using binpkg w/o installing the missing deps manually :(
One of the devs can correct me if I'm wrong on this, but comment #2 indicates that *runtime* dependencies only are tracked with binary packages, while both runtime and build-time dependencies are tracked when using the portage tree. In my case, I see boxybox ~ # emerge --quiet --update --deep --pretend --tree world [nomerge ] net-firewall/shorewall-3.0.4 [nomerge ] net-firewall/iptables-1.3.5-r1 [ebuild NS ] sys-kernel/gentoo-sources-2.6.17-r4 because gentoo-sources is a build-time dependency of iptables (it needs the relevant header files, I assume). At runtime, however, shorewall needs iptables, but iptables can run without the sources. So in a binary install, there's no need to install gentoo-sources. This *is* a problem when USE flags change for runtime dependencies -- ordinarily this would trigger a recompile all the way up the tree, but because the build-time dependencies are invisible with binary packages, it won't get spotted. Those of us building compile-once-install-everywhere systems will have to work around this, probably with strategically selected 'emerge -1K' invocations.
Perhaps this is a duplicate of bug 132355?
Yes, the USE problem on deps is an annoyance. As you say, my solution is to a script which parses the output of emerge -pND world and then 1-by-1 does emerge -1kN <package>. I think this is the only solution which doesn't amount to changing some relatively deep behavior of portage regarding RDEP's and DEP's..
Sorry for the double-post. I forgot to add something. I've also taken to scripting wget's and using emerge -k instead of emerge -g. It is faster bcause it avoids the metadata cachines, and in my experience is no less reliable (though I am running a rather homogeneous system). This script (including previous post) essentially "fixes" the -D and -N problems with packages, though admittedly in a hackish way. I can provide it if anyone is interested.
(In reply to comment #7) > I think this is the only solution which doesn't amount to > changing some relatively deep behavior of portage regarding RDEP's and DEP's.. My plan is to pull the additional dependencies in as a package set and that will be covered by bug 132355. *** This bug has been marked as a duplicate of 132355 ***