Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 112270 - getbinpkg fails to detect deep dependencies and USE changes
Summary: getbinpkg fails to detect deep dependencies and USE changes
Status: RESOLVED DUPLICATE of bug 132355
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-12 06:20 UTC by Abraham Smith
Modified: 2006-08-07 12:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Abraham Smith 2005-11-12 06:20:01 UTC
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.
Comment 1 carmen rocco 2005-11-25 16:21:13 UTC
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.
Comment 2 solar (RETIRED) gentoo-dev 2006-02-18 14:55:37 UTC
-D does not work with binary packages (feature vs bug).
Only RDEPEND's are used for binary packages.
Comment 3 Ralf Holzer 2006-03-24 15:00:15 UTC
(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">?
Comment 4 Daniel Webert 2006-05-31 13:12:55 UTC
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 :(
Comment 5 Dustin J. Mitchell 2006-08-06 15:47:40 UTC
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.
Comment 6 Zac Medico gentoo-dev 2006-08-06 16:32:42 UTC
Perhaps this is a duplicate of bug 132355?
Comment 7 Abraham Smith 2006-08-07 06:00:03 UTC
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..
Comment 8 Abraham Smith 2006-08-07 06:04:26 UTC
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. 
Comment 9 Zac Medico gentoo-dev 2006-08-07 12:02:43 UTC
(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 ***