Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 366061 - preserved libs persist after emerge @preserved-rebuild, but @preserved-rebuild is empty
Summary: preserved libs persist after emerge @preserved-rebuild, but @preserved-rebuil...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL: http://gerrit.chromium.org/gerrit/417
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: preserve-libs
  Show dependency tree
 
Reported: 2011-05-05 08:57 UTC by Dennis Schridde
Modified: 2011-05-08 22:27 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.