In testing Openssl-0.9.7, I ran revdep-rebuild, only to have it fail, as it was trying to build bacula as bacula was linked against mysql which was also in the list of items to be rebuilt. This is indicative of a bug in the dependancy checking of revdep-rebuild. Revdep-rebuild cannot go into wide use to replace the mysql rebuilder.sh style scripts until this is resolved. Reproducible: Always Steps to Reproduce: 1. emerge mysql bacula 2. unmask and emerge openssl-0.9.7 3. revdep-rebuild reproduced on 2 systems: system 1: Portage 2.0.48 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-ck6 i686 AMD Duron(tm) processor GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share /config /var/bind /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/te xmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/mnt/portage-nfs/distfiles" PKGDIR="/mnt/portage-nfs/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg mikmod mmx motif mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb alsa gdbm berkdb slang readline arts tetex aalib nas bonobo svga ggi tcltk java guile ruby mysql X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde opengl gphoto2 ldap snmp cdr scanner 3dfx acl acpi acpi4linux activefilter apache2 canna cjk curl dga dnd doc dvb dvd emacs ethereal evms2 evo expat fbcon flash freetds gamma gb gd gnomedb gps gtkhtml hbci i8x0 imap innodb ipv6 jikes junit ladcca lcms leim libgda lirc maildir matrox mcal mozaccess mozcalendar mozilla mozinterfaceinfo mozp3p mozsvg mozxmlterm mpi mule nptl oav odbc ofx pcap pcmcia pda pic plotutils pnp radeon rage128 samba sasl sis slp socks5 tiff trusted ungif usb vim-with-x voodoo3 vscan wavelan wmf Xaw3d xface xinerama xml xosd -libg++ glut xfs" COMPILER="gcc3" CHOST="i586-pc-linux-gnu" CFLAGS="-march=i586 -mcpu=athlon -O3 -pipe" CXXFLAGS="-march=i586 -mcpu=athlon -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j4" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox buildpkg ccache digest" system 2: Portage 2.0.48 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-pfeifer-r1_pre11 i686 AMD Athlon(tm) XP 1800+ GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/confi g /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/share/texmf/tex/generic/co nfig/ /usr/share/texmf/tex/platex/config/" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/gentoo-cvs/gentoo-x86" USE="x86 tcpd -3dfx -alsa -arts -bonobo -canna -cjk -freewnn -gb -gnome -gps - gtk2 -kde -kerberos -leim -libg++ -libgda -matrox -mbox -mule -nas -oci8 - opengl -oss -pcmcia -postgres -voodoo3 -xface -xfs -zero 3dnow X aalib acl acpi activefilter -afs apache2 apm avi berkdb cdr crypt cups curl dga directfb dnd doc dvd encode esd ethereal expat fbcon flash gd gdbm ggi gif gpm gtk gtkhtml guile imap imlib innodb ipv6 java jikes jpeg junit lame lcms ldap libwww maildir mikmod mmx motif mozaccess mozcalendar mozilla mozinterfaceinfo mozp3p mozsvg mozxmlterm mpeg mysql ncurses nls nptl oav odbc oggvorbis pam pcap pdflib perl pic plotutils png pnp python qt quicktime readline ruby samba sasl sdl slang slp snmp socks5 spell sse ssl svga tcltk tetex tiff truetype ungif vscan wmf xml xml2 xv zlib -bonobo -gnome evms2 usage -xmms" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-mcpu=athlon-xp -march=athlon-xp -O3 -pipe -fomit-frame-pointer" CXXFLAGS="-O2 -mcpu=i686 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j3" AUTOCLEAN="yes" SYNC="rsync://209.87.56.3/gentoo-portage" FEATURES="digest sandbox ccache buildpkg userpriv usersandbox"
Known bug (see the script code), but I do not see clean solution (except cloning most portage code). --deep does not help, because portage does not know about brokeness, so it does not evaluate package order. Unmerging before rebuild can help in some cases, but looks very dangerous and cannot be applied for core packages. Suggestions are welcome.
A hack that I came up with for the moment. 'emerge -eDp PKG1 PKG2 ...' save that output then grep it for the same package names that we already had as broken. Since portage was told to pretend on an empty tree, the order of the packages will be correct.
Thanks for this hack. It is used and helps in most cases. The rest is covered by dependent bugs.