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: Sun, 04 Apr 2010 15:33:37
Message-Id: 1270395197.1230.89.camel@localhost
In Reply to: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries by Maciej Mrozowski
1 Am Samstag, den 03.04.2010, 23:05 +0200 schrieb Maciej Mrozowski:
2 > On Saturday 03 of April 2010 14:16:14 Fabian Groffen wrote:
3 > > Shouldn't we fix that buildsystem then? Do you have an example of a
4 > > package/buildsystem that does that?
5 > "We" already do, the thing is that maybe we don't have to.
6 > https://bugs.gentoo.org/show_bug.cgi?id=240323
7 > From top of my head: python having issues with sys-libs/db as well as some
8 > packages with readline.
9 >
10 > > > It would indeed. Now when I think about it, moving stuff to preserved
11 > > > library dir could be just done - provided it's possible - along with
12 > > > fixing/setting DT_RPATH's in reverse runtime dependencies. This way no
13 > > > system-wide LIBRARY_PATH's would be necessary.
14 > > > Is it possible? Mike?
15 > > No, unless you somehow make sure you reserve space for this, by e.g.
16 > > setting a bogus rpath entry at buildtime. If you want to go that route,
17 > > you probably want to look at the Prefix' binutils-config wrapper that
18 > > already calls the linker with added rpath arguments. Afterwards you can
19 > > use chrpath to set it to the correct location. Will get messy with the
20 > > vdb though, but if Portage's doing it, it can probably be dealt with.
21 > Sounds messy indeed, what about hardened/SELinux/AppArmor/whatever - do they
22 > allow such DT_RPATH operations? It should be probably also restricted for
23 > binary-only packages.
24 >
25 > On Saturday 03 of April 2010 20:51:43 Tiziano Müller wrote:
26 > > Don't fix the hack. Remove the preserve libs "feature", make the PMs
27 > > check for rdeps per default before unmerging things.
28 > This will only prevent creating orphans of uninstalled libraries, what about
29 > upgraded ones when SOVERSION has been bumped (the most common case)?
30 I addressed this in the next phrase.
31
32 > Besides I
33 > can already imagine PMS-related discussion regarding "make the PMs check for
34 > rdeps per default before unmerging things" - thx but no thx.
35 This is not related to PMS. Paludis for example does it already with the
36 current EAPIs.
37
38 >
39 > > Slot libraries where needed, slot dep operators (EAPI 4) will help.
40 > Again, you suggest to SLOT every library that happened to bump SOVERSION. It's
41 > unrealistic. Besides library should be slotted when it's API changes, for
42 > source based distributions it's not needed for ABI changes - let's not confuse
43 > those two. Also excessive slotting increases probability of breaking library
44 > discovery mechanisms in various build systems (not everyone uses pkg-config).
45 I know that slotting can cause problems. But forcing build systems to
46 use specific versions of libraries is much easier than "shadowing"
47 libraries present in library search dirs, especially when those libs are
48 not even tracked by the PM.
49
50 >
51 > > And if that doesn't work out we need a separate var to give the PM a hint
52 > when API/ABI breakages happen (such that the PM knows when to re-install the
53 > rev deps).
54 > It needs PMS amended and thus GLEP.
55 Wrong, we don't have GLEPs for >90% of the PMS changes going into EAPI-3
56 or 4.
57
58 > Please submit a GLEP item for this if you
59 > see it fit.
60 > Anyway, as explained in OT, it's not a problem of package manager dependencies
61 > system but issue with broken/not smart build systems - no dependency tree
62 > magic will solve this issue.
63 It is a problem which can _only_ be solved at the PM level. You have to
64 tell the PM when API breakages happen. Either by slotting the lib or by
65 something else. Using guesswork to determine whether or not a library
66 should be removed may be a temporary solution. Remember: you're
67 partially ignoring a users request since he wanted the package to be
68 removed - and we all know how things like "protect the user from
69 himself" end up.
70
71
72
73
74 --
75 Tiziano Müller
76 Gentoo Linux Developer
77 Areas of responsibility:
78 Samba, PostgreSQL, CPP, Python, sysadmin, GLEP Editor
79 E-Mail : dev-zero@g.o
80 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>