While trying to fix a problem with evolution-2.0.3-r1, I encountered the problem documented in bug 79232 which deals with "net-libs/gnutls-1.1.23 links to previous version of gnutls'. After emerging net-libs/gnutls-1.1.23 a second time, I noticed the following message: * An API has changed in gnutls. This is why the library has gone from * libgnutls.so.11 to libgnutls.so.12. * * What is required is a revdep-rebuild. * To show you what is needed to rebuild * revdep-rebuild --soname libgnutls.so.10 -- -p * * Then do: * revdep-rebuild --soname libgnutls.so.10 * * Afterward just try: * revdep-rebuild -- -p * to see if there are any other packages broken. * To rebuild these: * revdep-rebuild I didnt' see this the first time I emerged this package because I was emerging about ten packages at the same time. The message needs to be changed to instruct the users to run revdep-rebuild --soname libgnutls.so.11 -- -p rather than revdep-rebuild --soname libgnutls.so.10 -- -p Because the latter doens't display a list of packages that need to be rebuilt; however, the former comes up with the following list: [ebuild R ] net-libs/libsoup-2.2.1 [ebuild R ] gnome-extra/evolution-data-server-1.0.3 [ebuild R ] gnome-extra/evolution-webcal-2.0.1 [ebuild R ] mail-client/evolution-2.0.3-r1 [ebuild R ] mail-client/ximian-connector-2.0.2-r1 [ebuild R ] net-libs/libsoup-2.1.12 Reproducible: Always Steps to Reproduce: 1. Emerge net-libs/gnutls-1.1.23 2. Run revdep-rebuild --soname libgnutls.so.10 -- -p 3. Nothing is flagged to be rebuilt. 3. Run revdep-rebuild --soname libgnutls.so.11 -- -p 4. A list of packages to be rebuilt is displayed. Actual Results: When I ran revdep-rebuild --soname libgnutls.so.10 -- -p, I got the following: wildstar ~ # revdep-rebuild --soname libgnutls.so.10 -- -p Checking reverse dependencies... Packages containing binaries and libraries using given shared object name, will be recompiled. Collecting system binaries and libraries... using existing /root/.revdep-rebuild .1_files. Checking dynamic linking... done. (/root/.revdep-rebuild_1319c95d.3_rebuild) Assigning files to ebuilds... Nothing to rebuild Evaluating package order... done. (/root/.revdep-rebuild_1319c95d.5_order) There are no dynamic links to libgnutls.so.10... All done. Expected Results: When I ran revdep-rebuild --soname libgnutls.so.11 -- -p, I got the following: wildstar ~ # revdep-rebuild --soname libgnutls.so.11 -- -p Checking reverse dependencies... Packages containing binaries and libraries using given shared object name, will be recompiled. Collecting system binaries and libraries... done. (/root/.revdep-rebuild.1_files) Checking dynamic linking... found /usr/lib/libegroupwise.so.6.0.0 found /usr/lib/libsoup-2.2.so.3.2.0 found /usr/lib/libsoup-2.2.so.7.0.0 found /usr/lib/evolution/2.0/components/libevolution-calendar.so found /usr/lib/evolution/2.0/camel-providers/libcamelgroupwise.so found /usr/bin/ximian-connector-setup-2.0 found /usr/libexec/evolution-data-server-1.0 found /usr/libexec/evolution-webcal found /usr/libexec/evolution/2.0/evolution-exchange-storage done. (/root/.revdep-rebuild_b8ae05ea.3_rebuild) Assigning files to ebuilds... done. (/root/.revdep-rebuild_b8ae05ea.4_ebuilds) Evaluating package order... done. (/root/.revdep-rebuild_b8ae05ea.5_order) All prepared. Starting rebuild... emerge --oneshot --nodeps -p =net-libs/libsoup-2.2.1 =gnome-extra/evolution-data -server-1.0.3 =gnome-extra/evolution-webcal-2.0.1 =mail-client/evolution-2.0.3-r 1 =mail-client/ximian-connector-2.0.2-r1 =net-libs/libsoup-2.1.12 These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] net-libs/libsoup-2.2.1 [ebuild R ] gnome-extra/evolution-data-server-1.0.3 [ebuild R ] gnome-extra/evolution-webcal-2.0.1 [ebuild R ] mail-client/evolution-2.0.3-r1 [ebuild R ] mail-client/ximian-connector-2.0.2-r1 [ebuild R ] net-libs/libsoup-2.1.12 Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild. wildstar ~ # emerge info Portage 2.0.51-r14 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) 4 Mobile CPU 2.00GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Sep 26 2004, 13:20:59)] dev-lang/python: 2.2.3-r5, 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r3 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg candy ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/ http://www.gtlib.cc.gatech.edu/pub/gentoo ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.mirrors.pair.com/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main /usr/local/bmg-gnome-current" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups dvd encode esd f77 fam font-server foomaticdb fortran gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imagemagick imlib ipv6 java jpeg junit kerberos krb4 ldap libg++ libwww mad mikmod motif mozilla mpeg mysql nas ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png postgres python quicktime readline samba scanner sdl slang spell ssl svga tcpd tiff truetype truetype-fonts type1-fonts usb xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS
Don't know if that's a good idea, but i've patched gnutls ebuild so that it keeps the old version of the libs until user manually delete them. That is similar to what is done for instance in recent versions of the media-libs/alsa-lib ebuild, and avoids having some temporary broken packages when the user has not yet ran his revdep-rebuild. I will attach a patch (it uses the preserve_old_lib() function from eutils.eclass).
Created attachment 49405 [details, diff] gnutls-1.1.23-r1--preserve_old_lib.patch
Sorry. I guess I shouldn't have been so presumptuous as to prescribe a solution to the situation I encountered in the bug summary. I guess I was getting a little ahead of myself when I was able to get everything going :-). I'm all up and running without a problem, so as far as I'm concerned this bug can be closed. I don't know if it is good etiquette for me to do that.
solutions are welcome. We just reserve the right to vet them. Please don't close this - The rebuild step on itself should be unncessary.
gnutls-1.2 commited. seems to fix the self recompile issue.
won't fix - 1.2.0 seem to be working ok. 1.1.23* removed.