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

Bug 366061

Summary: preserved libs persist after emerge @preserved-rebuild, but @preserved-rebuild is empty
Product: Portage Development Reporter: Dennis Schridde <dschridde+gentoobugs>
Component: UnclassifiedAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://gerrit.chromium.org/gerrit/417
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 240323    

Description Dennis Schridde 2011-05-05 08:57:19 UTC
I just ran @preserved-rebuild to clean up after the upgrade from glew-1.5 to 1.6. When emerge was finished, it output this:
---
!! existing preserved libs:
>>> package: media-libs/glew-1.6.0
 *  - /usr/lib64/libGLEW.so.1.5
 *  - /usr/lib64/libGLEW.so.1.5.8
Use emerge @preserved-rebuild to rebuild packages using these libraries
--
# emerge @preserved-rebuild
emerge: 'preserved-rebuild' is an empty set
emerge: no targets left after set expansion
# ll /usr/lib64/libGLEW.so.1.5
lrwxrwxrwx 1 root root 16 Apr 13 15:47 /usr/lib64/libGLEW.so.1.5 -> libGLEW.so.1.5.8

Other libraries were uninstalled successfully.

Reproducible: Always




Portage 2.2.0_alpha30 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.2, libc-0-r0, 2.6.38-gentoo-r3 x86_64)
=================================================================
System uname: Linux-2.6.38-gentoo-r3-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.0.2
Timestamp of tree: Wed, 04 May 2011 21:15:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:     4.2_p8-r1
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.7.1-r1, 3.1.3-r1
dev-util/cmake:      2.8.4-r1
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.2-r1
sys-apps/sandbox:    2.5
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.5.2
sys-devel/gcc-config: 1.4.1-r1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
sys-kernel/linux-headers: 2.6.38
sys-libs/glibc:      2.13-r2
virtual/os-headers:  0
Repositories: gentoo kde pcsx2 oss-overlay sunrise qt-symbian-overlay gamerlay-stable local
Installed sets: @kdebase
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/neatx/home"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /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="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize"
DISTDIR="/var/cache/portage/distfiles"
EMERGE_DEFAULT_OPTS="--depclean-lib-check n --with-bdeps y --keep-going"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://distfiles.gentoo.org"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--hash-style=gnu"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/var/cache/portage/packages"
PORTAGE_COMPRESS="xz"
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="/var/cache/portage/gentoo"
PORTDIR_OVERLAY="/var/cache/portage/layman/kde /var/cache/portage/layman/pcsx2 /var/cache/portage/layman/oss-overlay /var/cache/portage/layman/sunrise /var/cache/portage/layman/qt-symbian-overlay /var/cache/portage/layman/gamerlay /var/cache/portage/local"
[...]
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2011-05-06 01:00:06 UTC
The problems it likely due to interaction between these two parts in pym/portage/dbapi/vartree.py:

	self._linkmap_rebuild(include_file=os.path.join(inforoot,
		linkmap._needed_aux_key))

	if not others_in_slot:
		self._linkmap_rebuild(exclude_pkgs=(self.mycpv,))

The first _linkmap_rebuild call does not exclude the existing package in the same slot, which can corrupt the linkmap with irrelevant NEEDED data from the existing package that is about to be unmerged.

I've got somebody working on a patch in this area now, and it should address this issue when it's finished:

	http://codereview.chromium.org/6714030/
Comment 4 Zac Medico gentoo-dev 2011-05-08 22:27:20 UTC
Hopefully this is fixed in 2.2.0_alpha32. Please re-open if the problem persists.