Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Merging or overwriting KEYWORDS from eclass
Date: Tue, 24 Jun 2008 15:29:32
Message-Id: 20080624152928.GA7979@seldon.hsd1.ca.comcast.net
In Reply to: [gentoo-dev] Re: Merging or overwriting KEYWORDS from eclass by "Tiziano Müller"
1 On Tue, Jun 24, 2008 at 12:05:39PM +0200, Tiziano M??ller wrote:
2 > Brian Harring wrote:
3 >
4 > > On Tue, Jun 24, 2008 at 01:53:55AM +0200, Robert Buchholz wrote:
5 > >> Hi,
6 > >>
7 > >> I've stumbled upon an inconsitency between package managers the other
8 > >> day [1], which was due to both an ebuild and an eclass defining
9 > >> inconsisting KEYWORDS.
10 > >>
11 > >> bla-1.ebuild:
12 > >> inherit myeclass
13 > >> KEYWORDS="~arch"
14 > >>
15 > >> myeclass.eclass:
16 > >> KEYWORDS="arch"
17 > >>
18 > >> Portage will resolve this by overwriting the variable, so the last
19 > >> (~arch) wins. Paludis, on the other hand, merges the variables, so it
20 > >> is KEYWORDS="~arch arch".
21 > >>
22 > >> The PMS draft [2] defines that "IUSE, DEPEND, RDEPEND and PDEPEND"
23 > >> variables be merged when defined in both eclass and ebuild (Section
24 > >> 7.2), but only says "May be de?ned in an eclass" about KEYWORDS
25 > >> (Section 8.2).
26 > >>
27 > >> Anyone up to toss a coin whose bug it is, and maybe we can have a more
28 > >> specific wording in the PMS?
29 > >
30 > > Paludis bug; if you want KEYWORDS incremental, it'll need to be in
31 > >>=eapi2, too nasty of a change to shoehorn into existing (in use)
32 > > eapis.
33 > well, if the PMS doesn't say anything about it, it's a lack of specification
34 > and not a bug of a package manager.
35
36 Falls to the same people regardless; in this case it is a bug of the
37 manager since longstanding behaviour of keywords from eclasses has
38 *always* been non-incremental.
39
40 Regardless, omission of keywords from the list of incremental eclasses
41 doesn't equate to "do what you want"- it means "it's not incremental".
42
43
44 > Can you please give more info why this is "too nasty"?
45
46 The original post gave an example of why this can't be shoehorned in-
47 bla-1, instead of being marked unstable, becomes stable. I might add
48 that it becomes stable effectively *always* also due to stable
49 keywords existing in eclass.
50
51 The use case for this isn't particularly grand either- the only real
52 use case for such behaviour is shifting unstable keywords into the
53 eclass, and storing the stable keywords in the ebuild.
54
55 Problem with that however is that if a consumer of the eclass ever
56 needs to be marked unusable (temporarily or otherwise) for a specific
57 arch, the paludis keyword stacking means that the eclass would have to
58 have that arch pruned from the eclass (sticking -$ARCH into the ebuild
59 would most likely not suffice due to existing portage keyword
60 visibility filters).
61
62 Basically, if we were talking about tweaking IUSE, then I'd be singing
63 a different tune- KEYWORDS behaviour, specifically keywords visibility
64 filtering of available packages means that this isn't easily changable
65 w/out resulting in past managers that worked properly, no longer
66 working properly.
67
68 For IUSE, you could likely get away with shoehorning this in- older
69 managers generally didn't care much about IUSE (although
70 built_with_use is a notable exception).
71
72 Cheers.
73 ~brian