Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Re: don't rely on dynamic deps
Date: Sun, 27 Jul 2014 12:04:45
Message-Id: CAGfcS_mOw6eASvApJpAy7+C1QSi3ZE6akR-JZ4B=L6VDbSgjMw@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: don't rely on dynamic deps by Kent Fredric
1 On Sun, Jul 27, 2014 at 6:43 AM, Kent Fredric <kentfredric@×××××.com> wrote:
2 >
3 > In a "no dynamic deps, period" scenario, this just strikes me as 2 flavours
4 > of the same weirdness, -r2 and -r1.1 are just equally weird choices to make
5 > if the ebuild itself doesn't change at all.
6
7 You have a good point here.
8
9 With this proposal we have three kinds of ebuild changes:
10 1. Those that do not involve any revbump.
11 2. Those with a "minor" revbump (ie -r1 -> -r1.1).
12 3. Those with a normal revbump (ie -r1 -> -r2).
13
14 What is the purpose of allowing the first? Presumably that should be
15 used in even more limited circumstances than a minor revbump, so why
16 allow it at all? Why not just make an in-place change equivalent to a
17 minor revbump and ditch the minor revbump entirely? Devs would still
18 need to distinguish between what requires a revbump and what does not.
19
20 Doing this would require having portage cache a hash of whatever
21 ebuild it last parsed, and perhaps its eclasses as well if we permit
22 revbump-less eclass changes. Then it would have to check for when
23 these change, perhaps this might be stored in the metadata to speed
24 things up.
25
26 You could view such an approach as being equivalent to just sticking a
27 ".hash" on every ebuild in the tree as a minor revision tag, so that
28 any change triggers a minor revision. The only difference between
29 that and the proposal that I can see is that the minor revisions would
30 be unordered. However, if we go with the theory that defective
31 ebuilds get removed immediately then there is no point in ordering
32 minor revisions because there will only be one in the tree at any time
33 for a given major revision, so the package manager couldn't take
34 advantage of any information conveyed by ordering.
35
36 This probably isn't too different from what portage is doing already, except:
37 1. Portage is only looking for dependency changes when it has another
38 reason to look closely at the ebuild - it has no mechanism to detect
39 that an ebuild changes, and this would add one.
40 2. We don't have any clear policies today on when ebuilds should be
41 revbumped or not as the result of things like dependency changes, and
42 this would cause us to make some.
43
44 The fact that this isn't a big change does concern me that it may not
45 fix all of the underlying problems. However, some of those problems
46 might not actually have clean solutions other than never committing
47 mistakes in the first place. For example, if a prerm dependency was
48 missing then removing the ebuild can potentially fail whether you use
49 dynamic deps or not until it is satisfied.
50
51 Rich

Replies

Subject Author
Re: [gentoo-dev] Re: don't rely on dynamic deps Rich Freeman <rich0@g.o>
Re: [gentoo-dev] Re: don't rely on dynamic deps Ian Stakenvicius <axs@g.o>