Gentoo Archives: gentoo-dev

From: Maciej Mrozowski <reavertm@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries
Date: Mon, 05 Apr 2010 06:17:40
Message-Id: 201004050816.42409.reavertm@gmail.com
In Reply to: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries by "Tiziano Müller"
1 On Sunday 04 of April 2010 17:33:17 Tiziano Müller wrote:
2
3 >> Besides I
4 >> can already imagine PMS-related discussion regarding "make the PMs check
5 for rdeps per default before unmerging things" - thx but no thx.
6 > This is not related to PMS. Paludis for example does it already with the
7 > current EAPIs.
8 So how does Paludis handle those issues?
9 (Read my comments about "emerge" atomicy below)
10
11 > It is a problem which can _only_ be solved at the PM level. You have to
12 > tell the PM when API breakages happen. Either by slotting the lib or by
13 > something else.
14 ^^^^^^^^^^^^^^^
15 This is important - as slotting is not a practical solution. What is it then?
16
17 > Using guesswork to determine whether or not a library
18 > should be removed may be a temporary solution. Remember: you're
19 > partially ignoring a users request since he wanted the package to be
20 > removed - and we all know how things like "protect the user from
21 > himself" end up.
22
23 Unconditionally removing libraries (instead of preserving them) and making
24 their reverse runtime dependencies reinstalled is unacceptable because
25 "emerge" process involving multiple packages is not atomic. Simple as that.
26 Is this what you suggest? Correct me if I'm wrong:
27 1. Users wants to uninstall or reinstall package, we let him do it provided
28 reverse runtime dependencies are satisfied afterwards. Let's say he wants to
29 upgrade expat.
30 2. Expat SOVERSION changed meanwhile but package was not SLOTtted and runtime
31 reverse deps will still be satisfied when we upgrade.
32 3. Expat has been upgraded sucessfully,
33 4a. "emerge" discovers reverse runtime dependencies are broken and it starts
34 to rebuild them, then it bails out due to error ld: libexpat.so.<sth> not
35 found. Because step 3 cannot be rolled back (no atomicy) - game over.
36 or
37 4b. "emerge does not discover those and does nothing. python is broken so
38 emerge cannot be used anymore. Game over
39
40 --
41 regards
42 MM

Replies

Subject Author
Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries Brian Harring <ferringb@×××××.com>
Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries "Tiziano Müller" <dev-zero@g.o>