Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 21754 - Revdep-rebuild gets the order to merge packages wrong, resulting in it failing
Summary: Revdep-rebuild gets the order to merge packages wrong, resulting in it failing
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Stanislav Brabec
Depends on: 22161 23018
  Show dependency tree
Reported: 2003-05-27 05:02 UTC by Robin Johnson
Modified: 2003-10-01 04:08 UTC (History)
0 users

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


Note You need to log in before you can comment on or make changes to this bug.
Description Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-05-27 05:02:38 UTC
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 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
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"
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"
CFLAGS="-march=i586 -mcpu=athlon -O3 -pipe"
CXXFLAGS="-march=i586 -mcpu=athlon -O3 -pipe"
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+
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"
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"
CFLAGS="-mcpu=athlon-xp -march=athlon-xp -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
FEATURES="digest sandbox ccache buildpkg userpriv usersandbox"
Comment 1 Stanislav Brabec 2003-06-05 10:41:02 UTC
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.
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-05 11:50:18 UTC
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.
Comment 3 Stanislav Brabec 2003-10-01 04:08:08 UTC
Thanks for this hack. It is used and helps in most cases.
The rest is covered by dependent bugs.