Gentoo Archives: gentoo-dev

From: "Tiziano Müller" <dev-zero@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries
Date: Sat, 03 Apr 2010 18:52:17
Message-Id: 1270320703.1230.11.camel@localhost
In Reply to: [gentoo-dev] [RFC] More reliable hiding preserved libraries by Maciej Mrozowski
1 Am Samstag, den 03.04.2010, 12:38 +0200 schrieb Maciej Mrozowski:
2 > Problem
3 >
4 > ..is known, let me summarize briefly.
5 >
6 > Uninstalling packages providing libraries, without checking reverse runtime
7 > dependencies of those packages leaves their dependencies unsatisfied (packages
8 > with broken executables and/or shared libs).
9 > Some package managers try their best not to remove said libraries, yet
10 > allowing packages to be removed.
11 > Those orphaned libraries cause problems[1] as build systems of some other
12 > packages being (re)installed afterwards pick them up and abuse those orphaned
13 > libraries. (we don't like orphans abused, we prefer them... "gone").
14 >
15 > Solution
16 >
17 > Now, I suppose there are some ideas how to make orphaned libraries not go in a
18 > way. Basically then need to be available for system, but hidden for "emerge".
19 >
20 > There is opt-out suggestion[2], unfortunately it does not provide any info how
21 > exactly it's supposed to be achieved. As far as portage/pkgcore is concerned,
22 > maybe - as Brian Harring suggested - sandbox could be used to somehow "hide"
23 > preserved libraries or preserved library directory from ebuild environment
24 > (preserved library directory a'ka "purgatory" - libs could be moved there when
25 > considered orphaned).
26 >
27 > Opt-in suggestion is as follows:
28 > 1. Use some library path (read by ld loader from environment) and export it
29 > globally to environment pointing it to preserved library directory.
30 > 2. During "emerge", unset environment variable corresponding to said preserved
31 > library directory - orphans are no longer located.
32 > Attached patch for glibc (2.11, but should apply to any other glibc around)
33 > and uClibc (this one is not tested but should work as well) that makes ld
34 > loader aware of LD_GENTOO_PRESERVED_LIBRARY_PATH variable.
35 >
36 > (LD_LIBRARY_PATH would work as well, but it's being used widely so cannot be
37 > safely mangled.. on the second though it can - one could filter out preserved
38 > library paths from it during "emerge").
39 >
40 > Thoughts?
41
42 Don't fix the hack. Remove the preserve libs "feature", make the PMs
43 check for rdeps per default before unmerging things. Slot libraries
44 where needed, slot dep operators (EAPI 4) will help. And if that doesn't
45 work out we need a separate var to give the PM a hint when API/ABI
46 breakages happen (such that the PM knows when to re-install the rev
47 deps).
48
49
50 --
51 Tiziano Müller
52 Gentoo Linux Developer
53 Areas of responsibility:
54 Samba, PostgreSQL, CPP, Python, sysadmin, GLEP Editor
55 E-Mail : dev-zero@g.o
56 GnuPG FP : F327 283A E769 2E36 18D5 4DE2 1B05 6A63 AE9C 1E30

Attachments

File name MIME type
smime.p7s application/x-pkcs7-signature

Replies

Subject Author
Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries Maciej Mrozowski <reavertm@×××××.com>