Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 214790 - preserve-libs: unmerging a package that uses preserved libs doesn't remove the preserved libs
Summary: preserve-libs: unmerging a package that uses preserved libs doesn't remove th...
Status: RESOLVED NEEDINFO
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All All
: High normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-25 20:52 UTC by Fabian Groffen
Modified: 2008-05-05 15:04 UTC (History)
1 user (show)

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 Fabian Groffen gentoo-dev 2008-03-25 20:52:02 UTC
Using preserve-libs feature, portage has nicely preserved some binutils libs on my system:
!!! existing preserved libs:
>>> package: sys-devel/binutils-2.18.50.0.5
 *  - /Library/Gentoo/usr/lib/binutils/i386-pc-solaris2.10/2.18.50.0.3/libbfd-2.
18.50.0.3.20071102.so
 *  - /Library/Gentoo/usr/lib/binutils/i386-pc-solaris2.10/2.18.50.0.3/libopcode
s-2.18.50.0.3.20071102.so

Those libs are in use by:
% grep "^"libbfd-2.18.50.0.3.20071102.so $EPREFIX/var/cache/edb/library_consumers
libbfd-2.18.50.0.3.20071102.so /usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/addr2line,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ar,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/as,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/c++filt,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/gprof,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ld,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/nm,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/objcopy,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/objdump,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ranlib,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/size,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/strings,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/strip,/usr/lib/binutils/i686-pc-freebsd6.2/2.18.50.0.3/libopcodes-2.18.50.0.3.20071102.so

(a cross-compile binutils for FreeBSD on this Solaris box)

Because I don't need that binutils for the moment, I decided to unmerge it.  However, portage keeps on complaining the libs are still in use, and the library_consumers file isn't updated as well.

The next emerge of any package nicely removes the no longer needed libs (!needed), though.

I've had my share of dealing with the preserve-libs code, this one I don't know how to fix, even though the patch is probably pretty small...


% emerge --info
Killed
Portage 2.2.00.9500-prefix (default-prefix/sunos/solaris/5.10/x86, gcc-4.3.0, unavailable, 5.10 i86pc)
=================================================================
System uname: 5.10 i86pc i386
Timestamp of tree: Tue, 25 Mar 2008 20:08:42 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7-r00.1, 2.1.5
dev-lang/python:     2.4.4-r04.2, 2.5.1-r5
dev-python/pycrypto: 2.0.1-r6
sys-devel/autoconf:  2.13, 2.61-r01.1
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.1
sys-devel/binutils:  2.18.50.0.5
sys-devel/gcc-config: 1.4.0-r04.1
sys-devel/libtool:   1.5.26
ACCEPT_KEYWORDS="~x86-solaris"
CBUILD="i386-pc-solaris2.10"
CFLAGS="-march=nocona -O3 -pipe"
CHOST="i386-pc-solaris2.10"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
DISTDIR="/Library/Gentoo/usr/portage/distfiles"
EPREFIX="/Library/Gentoo"
FEATURES="collision-protect distlocks metadata-transfer nostrip parallel-fetch preserve-libs sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LC_ALL="en_GB.UTF-8"
MAKEOPTS="-j5"
PKGDIR="/Library/Gentoo/usr/portage/packages"
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="/Library/Gentoo/var/tmp"
PORTDIR="/Library/Gentoo/usr/portage"
SYNC="svn+http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay"
USE="berkdb cracklib ipv6 midi ncurses nls prefix readline ssl unicode x86-solaris zlib" 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" 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="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU"
Unset:  CPPFLAGS, CTARGET, CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2008-05-05 11:30:43 UTC
Still relevant with the new code?
Comment 2 Fabian Groffen gentoo-dev 2008-05-05 15:04:53 UTC
I can't check, so I'll close it for now.