Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 188559 - sys-apps/portage- lib -> $(get_libdir) cause some libs to be cleaned
Summary: sys-apps/portage- lib -> $(get_libdir) cause some libs to be cleaned
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
Depends on:
Blocks: 181949
  Show dependency tree
Reported: 2007-08-12 10:27 UTC by Peter Volkov (RETIRED)
Modified: 2007-08-12 16:27 UTC (History)
0 users

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

foo-0.ebuild (foo-0.ebuild,503 bytes, text/plain)
2007-08-12 10:34 UTC, Peter Volkov (RETIRED)
invalidate dblink._contents_inodes as necessary (inodes.patch,852 bytes, patch)
2007-08-12 11:47 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Volkov (RETIRED) gentoo-dev 2007-08-12 10:27:11 UTC
If on amd64 system you'll change in ebuild /lib/ on $(get_libdir) after emerge portage will clean some files from newly installed package. Test case follows.
Comment 1 Peter Volkov (RETIRED) gentoo-dev 2007-08-12 10:34:58 UTC
Created attachment 127835 [details]

Consider the following ebuild. It'll install /lib/foo/ Install it.

After this do 
sed -ie 's:lib/:$(get_libdir)/:g' foo-0.ebuild
and emerge foo again. I see the following output:

>>> Merging net-analyzer/foo-0 to /
--- /lib64/
--- /lib64/foo/
>>> /lib64/foo/
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
<<<          obj /lib/foo/
--- replaced dir /lib/foo
--- replaced dir /lib
>>> Original instance of package unmerged safely.
>>> net-analyzer/foo-0 merged.

Look: portage cleaned newly installed Reverse is also correct.

sed -ie 's:$(get_libdir)/:lib/:g' foo-0.ebuild

This means if we fix some ebuilds in the tree so that they work on amd64 update could fail for some users. I've encountered this problem during work on ebtables and fond that one lib, and only one while it have about ten libs, is unmerged. Thank you for your time.
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2007-08-12 11:08:51 UTC
As grobian correctly pointed me in IRC I forgot to note, that lib is symlink of lib64 and thus /lib/foo/ and /lib64/foo/ are the same files.
Comment 3 Zac Medico gentoo-dev 2007-08-12 11:47:50 UTC
Created attachment 127852 [details, diff]
invalidate dblink._contents_inodes as necessary

This is fixed in svn r7592.  The bug is only triggered when FEATURES=collision-protect is enabled.
Comment 4 Zac Medico gentoo-dev 2007-08-12 16:27:48 UTC
This has been released in