Not sure if or which which of the existing but marked FIXED bugs I should reopen... Running revdep-rebuild --library ... results in finding many broken packages while running just 'revdep-rebuild' doesn't. See attached file with examples please! Reproducible: Always Portage 2.1.8.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.3.2, glibc-2.10.1-r1, 2.6.30-gentoo-r4 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.30-gentoo-r4-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4400+-with-gentoo-1.12.13 Timestamp of tree: Wed, 07 Jul 2010 16:30:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 4.0_p37 dev-lang/python: 2.6.2-r1 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.3, 1.11.1 sys-devel/binutils: 2.18-r3 sys-devel/gcc: 4.3.2-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-ggdb -O1 -pipe -march=athlon64" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-ggdb -O1 -pipe -march=athlon64" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news nostrip parallel-fetch protect-owned sandbox sfperms splitdebug strict stricter test unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="de_DE.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 7zip X acpi alsa amd64 applet archive bash-completion boundschecking bzip2 cairo cdinstall cdr clamav consolekit cracklib crypt cups cupsddk cxx dbus debug dga directfb dri dvd dvdnav dvdr eds esd evo fam fbcon fontconfig fuse gdu glitz gmp gnome gnome-keyring gnutls gpm gstreamer gtk gzip hal hddtemp icu ithreads libnotify lm_sensors logitech-mouse lzma lzo md5sum mem-scramble memlimit mmap mmx mmxext modules mp4 mudflap multilib nautilus nls nocd nptl nptlonly offensive opengl openmp pam pango pda policykit ppds pth rtc session smp spell sse sse2 ssl startup-notification symlink sysfs tcpd test threads threadsafe trace truetype unicode usb videos xcb xml xorg xulrunner zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY ================================================================= Package Settings ================================================================= app-portage/gentoolkit-0.3.0_rc10-r1 was built with the following: USE="(multilib) test" CFLAGS="-O2 -pipe -march=athlon64" CXXFLAGS="-O2 -pipe -march=athlon64"
Created attachment 237927 [details] example revdep-rebuild VS revdep-rebuild --library <lib_name>
Please re-read the part of then revdep-rebuild man page about the --library option.
If everything is ok and the result of running revdep-rebuild (whis is 'nothing to do') is right, why is portage telling me the following after emerging evolution-data-server? Old versions of installed libraries _were_detected_ on your system. * In order to avoid breaking packages that depend on these old libs, * the libraries are not being removed. You need to run revdep-rebuild * in order to remove these old dependencies. If you do not have this * helper program, simply emerge the 'gentoolkit' package. * * # revdep-rebuild --library libedataserver-1.2.so.11 Shouldn't (just) 'revdep-rebuild' discover that packages using libedataserver (which was updated) need to be rebuilt?
(In reply to comment #3) > Shouldn't (just) 'revdep-rebuild' discover that packages using libedataserver > (which was updated) need to be rebuilt? > No, because revdep-rebuild only detects cases where a binary/library is broken because a library it links against is missing. What emerge tells you is that libedataserver-1.2.so.11 has not been removed (even if the new version doesn't install it) to keep its consumers working. That's why revdep-rebuild wouldn't detect the consumers as broken.
Ok, I apologise! 'man revdep-rebuild' does exactly state what you wrote. Now, is there a tool which checks if packages need to / should be rebuild due to updated libraries/dependencies? For now I use grep on the portage log files to find out which 'revdep-rebuild --library <...>' needs to be executed but I guess not everyone sets PORT_LOGDIR so finding out what has to be done would be difficult then, wouldn't it? I - and maybe other users too - would really be thankful if something 'automatic' would exist.
emerge prints the warnings right after it finished. People are expected to read them or to use some logging facility and read the logs.