Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 373343 - app-admin/eselect: modules/env.eselect shall not let ldconfig update SONAME symlinks
Summary: app-admin/eselect: modules/env.eselect shall not let ldconfig update SONAME s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: eselect (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo eselect Team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 373341
  Show dependency tree
 
Reported: 2011-06-28 14:00 UTC by Michał Górny
Modified: 2011-07-16 22:38 UTC (History)
1 user (show)

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


Attachments
Patch to fix the issue (0001-modules-env-call-ldconfig-with-X-to-not-update-symli.patch,677 bytes, patch)
2011-06-28 14:00 UTC, Michał Górny
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2011-06-28 14:00:24 UTC
Created attachment 278495 [details, diff]
Patch to fix the issue

The update_ldcache() function in modules/env.eselect calls ldconfig without the '-X' argument which causes it to not only update ld.so.conf but upgrade SONAME symlinks as well. This is known to break downgrades with preserve-libs feature of portage.

I'd suggest adding '-X' to the ldconfig call (for Linux), in order to let it preserve the symlinks as they were installed by the PM.
Comment 1 Ulrich Müller gentoo-dev 2011-06-29 18:22:14 UTC
Committed to SVN (r817).

I'm not sure though what implications this change will have for systems like macos, hpux, or solaris (do they have ldconfig at all)? Adding Prefix team to CC.
Comment 2 Fabian Groffen gentoo-dev 2011-06-29 18:26:11 UTC
they don't, and even if they did, it shouldn't be called unless the user running this has admin privileges
Comment 3 Ulrich Müller gentoo-dev 2011-06-29 18:50:05 UTC
I've added another conditional so that ldconfig will be called only on Linux/GNU and BSD:
<http://sources.gentoo.org/cgi-bin/viewvc.cgi/eselect/trunk/modules/env.eselect?r1=817&r2=818>
Comment 4 Ulrich Müller gentoo-dev 2011-07-16 22:38:08 UTC
This is included with eselect-1.2.16 (and I forgot to close this bug when I've released that version).