Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 169761

Summary: revdep-rebuild -X does only rebuild present versions
Product: Portage Development Reporter: Xake <kanelxake>
Component: ToolsAssignee: Portage Tools Team <tools-portage>
Status: RESOLVED FIXED    
Severity: normal CC: johan, throw_away_2002
Priority: High Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 170220    
Attachments: revdep-rebuild -p > Desktop/revdep.log
.revdep-rebuild.* for the log above
revdep-rebuild -X -p > Desktop/revdep-x.log
.revdep-rebuild.* for the log above (revdep-rebuild -X)
revdep-rebuild --no-ld-path --package-names --pretend
bash -x revdep-rebuild --no-ld-path --package-names --pretend --keep-temp
Tempfiles for the above logfile
Output per request
Patch for revdep-rebuild -X

Description Xake 2007-03-07 14:11:24 UTC
Ok, the last days I have had fun trying to fix what xcb-utils-0.2 did to my system and one thing I learned was: do not use revdep-rebuild -X in its current form.
Why?

revdep-rebuild -X finds a lot of files linked against "libXCBRender-whats-its-name-again" but failed with the comments emerge spits out when it finds a missing library during linking.
After a lot of playing around I saw that revdep-rebuild DID NOT try to rebuild ALL packages with broken deps.
After a closer look I found out it ONLY wanted to rebuild the versions not needing updating, ie. already present versions it tried to rebuild but versions (and dependencies) that had a update waiting it skipped.

emerge --info as follows.
Portage 2.1.2.1-r1 (default-linux/x86/2006.1/desktop, gcc-4.1.2, glibc-2.5-r0, 2.6.20-gentoo i686)
=================================================================
System uname: 2.6.20-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System release 1.13.0_alpha12
Timestamp of tree: Wed, 07 Mar 2007 10:50:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.31-r4
dev-lang/python:     2.5-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17.50.0.12
sys-devel/gcc-config: 1.3.15
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -pipe -O2 -ggdb -ftree-loop-linear"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=pentium4 -pipe -O2 -ggdb -ftree-loop-linear -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS=""
FEATURES="autoconfig ccache distlocks parallel-fetch sandbox sfperms splitdebug strict test userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="sv"
LC_ALL="sv_SE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-znow -Wl,--hash-style=gnu"
LINGUAS="sv"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/lila-theme /usr/portage/local/layman/musicbrainz /usr/portage/local/layman/gnome-experimental /usr/local/overlays/portage /usr/local/overlays/nouveau"
SYNC="rsync://liten/gentoo-portage"
USE="X a52 aac acpi aiglx alsa asf audioscrobbler avahi bash bash-completion beagle berkdb bitmap-fonts bogofilter branding bzip2 cairo cdr cli cracklib crypt cups dbus debug device-mapper divx dmx dpms dri dts dvd dvdr eds eiglx emboss encode evo evolution fam fat ffmpeg firefox flac freetype gd gdbm gif gimp glib glitz gmedia gmp gnome gnutls gpm gstreamer gtk gtk2 gtkhtml hal howl-compat iconv icu inotify ipv6 irda irmc isdnlog ithreads java jikes joystick jpeg keyring kqemu lcms ldap libg++ libnotify libsexy lm_sensors logrotate mad matroska matrox midi mikmod mmx mng mono moznocompose moznoirc moznomail mp3 mpeg msn musepack musicbrainz nautilus ncurses network nfs nls nntp nonfsv4 nptl nptlonly ntfs ntp numeric obex offensive ogg opengl pam pam_console pcre pdf perl pic png ppds pppd print python quicktime readline real realmedia reflection reiserfs rtc samba scanner sdl sensord session smp sox spell spf spl sse sse2 ssh ssl startup-notification subtitles svg syslog tagwriting tcltk tcpd test theora threads tiff truetype truetype-fonts tth type1-fonts unicode usb userlocales utf8 vorbis win32codecs wma wmf wmp wv wxwindows x86 xcb xinerama xinetd xml xml2 xorg xosd xprint xulrunner xv xvid zlib" ALSA_CARDS="emu10k1 intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="sv" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau"
Unset:  CTARGET, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS


And the very speaking .revdep-rebuild.* files telling package-versiona and what and what not to try to rebuild:

$ cat .revdep-rebuild.4_packages
app-admin/gnome-system-tools-2.14.0
app-arch/file-roller-2.16.3
app-text/evince-0.6.1-r2
dev-python/gnome-python-desktop-2.16.0
gnome-base/gnome-applets-2.16.2
gnome-extra/deskbar-applet-2.16.2-r1
gnome-extra/nautilus-cd-burner-2.16.3
media-gfx/imagemagick-6.3.0.5
media-sound/rhythmbox-0.9.8
media-video/totem-2.16.5

$ cat .revdep-rebuild.4_ebuilds 
app-admin/gnome-system-tools-2.17.91
app-arch/file-roller-2.17.92
app-text/evince-0.7.2
dev-python/gnome-python-desktop-2.17.93
gnome-base/gnome-applets-2.17.90
gnome-extra/deskbar-applet-2.17.92
gnome-extra/nautilus-cd-burner-2.17.8
media-gfx/imagemagick-6.3.0.5-r1
media-sound/rhythmbox-0.9.8
media-video/totem-2.17.92

$ cat .revdep-rebuild.5_order 
media-sound/rhythmbox-0.9.8
Comment 1 Paul Varner (RETIRED) gentoo-dev 2007-03-07 15:29:25 UTC
I need to see the full output from revdep-rebuild along with all of the .revdep-rebuild files attached to the case.
Comment 2 Xake 2007-03-07 20:26:13 UTC
Created attachment 112461 [details]
revdep-rebuild -p > Desktop/revdep.log
Comment 3 Xake 2007-03-07 20:26:55 UTC
Created attachment 112462 [details]
.revdep-rebuild.* for the log above
Comment 4 Xake 2007-03-07 20:29:29 UTC
Created attachment 112464 [details]
revdep-rebuild -X -p > Desktop/revdep-x.log

I will attach the .revdep-rebuild.* for this one as soon as someone tells me how to make revdep-rebuild keep its temporary files if it does not find anything broken.
Comment 5 Paul Varner (RETIRED) gentoo-dev 2007-03-07 20:39:42 UTC
(In reply to comment #4)
> Created an attachment (id=112464) [edit]
> revdep-rebuild -X -p > Desktop/revdep-x.log
> 
> I will attach the .revdep-rebuild.* for this one as soon as someone tells me
> how to make revdep-rebuild keep its temporary files if it does not find
> anything broken.

Run revdep-rebuild --keep-temp in order to keep the files.
Comment 6 Xake 2007-03-07 20:53:57 UTC
Created attachment 112470 [details]
.revdep-rebuild.* for the log above (revdep-rebuild -X)
Comment 7 Paul Varner (RETIRED) gentoo-dev 2007-03-10 04:23:15 UTC
I'm using the log file from the revdep-rebuild -X command,

what does the following command output?

EMERGE_DEFAULT_OPTS="" emerge --nospinner --pretend --oneshot --nodeps --quiet =app-text/evince-0.7.2
Comment 8 Xake 2007-03-10 09:36:16 UTC
# EMERGE_DEFAULT_OPTS="" emerge --nospinner --pretend --oneshot --nodeps --quiet =app-text/evince-0.7.2
[ebuild     U ] app-text/evince-0.7.2 [0.6.1-r2]
#

No more, no less.
Comment 9 Paul Varner (RETIRED) gentoo-dev 2007-03-10 15:27:35 UTC
Try the following revdep-rebuild command:

revdep-rebuild --no-ld-path --package-names --pretend and let me know if it works.

If it does not work then please run

bash -x revdep-rebuild --no-ld-path --package-names --pretend --keep-temp and attach the output and the .revdep-rebuild files
Comment 10 Xake 2007-03-11 12:19:21 UTC
Created attachment 112922 [details]
revdep-rebuild --no-ld-path --package-names --pretend

This commands finds the broken file and assigns it to evince, but still do not want to update the package. Follow shortly with output from the other command.
Comment 11 Xake 2007-03-11 13:11:49 UTC
Created attachment 112935 [details]
bash -x revdep-rebuild --no-ld-path --package-names --pretend --keep-temp
Comment 12 Xake 2007-03-11 13:12:31 UTC
Created attachment 112936 [details]
Tempfiles for the above logfile
Comment 13 Paul Varner (RETIRED) gentoo-dev 2007-03-11 22:20:17 UTC
I know that this is frustratating, so I apologize for how long that this is taking.  So far everything is looking correct except that the package is not ending up in the list to be built.

What does the following return?
emerge --nospinner --pretend --oneshot --emptytree --quiet =app-text/evince-0.7.2 =www-client/mozilla-firefox-2.0.0.2
Comment 14 Xake 2007-03-12 09:21:41 UTC
Created attachment 113048 [details]
Output per request

It is no problem. I have encountered this bug at least one time before, but that time I did not understand it as I do now and the report for that one got closed becouse of a spelling error (I used --package-name (missing s) when I reported but on the command line I used -X) and emerged the packages by hand before I had the oppertunity to come with something concrete. This time it is "only" evince, and that application I can live without for some more time so it is really no big problem this time.
Comment 15 Paul Varner (RETIRED) gentoo-dev 2007-03-13 00:34:20 UTC
Created attachment 113125 [details, diff]
Patch for revdep-rebuild -X

I found the bug and the attached patch should fix it.  Please let me know the results of your testing.
Comment 16 Xake 2007-03-13 14:12:12 UTC
That seems to do it. Thanks!
Comment 17 Paul Varner (RETIRED) gentoo-dev 2007-03-14 03:01:31 UTC
$ svn commit -m "Fix bug with --package-names option not rebuilding packages (Bug #169761)"
Sending        ChangeLog
Sending        src/revdep-rebuild/revdep-rebuild
Transmitting file data ..
Committed revision 356.
Comment 18 Paul Varner (RETIRED) gentoo-dev 2007-03-19 17:48:28 UTC
Fixed in gentoolkit-0.2.4_pre2
Comment 19 Paul Varner (RETIRED) gentoo-dev 2007-09-13 00:04:34 UTC
*** Bug 188668 has been marked as a duplicate of this bug. ***
Comment 20 Paul Varner (RETIRED) gentoo-dev 2007-09-13 00:21:15 UTC
*** Bug 188789 has been marked as a duplicate of this bug. ***