Gentoo Archives: gentoo-dev

From: Gerion Entrup <gerion.entrup@×××××.de>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] multiversion ebuilds
Date: Sat, 12 May 2018 14:13:55
Message-Id: 3613602.4V8brGbAqC@gump
In Reply to: Re: [gentoo-dev] [RFC] multiversion ebuilds by Rich Freeman
1 Am Samstag, 12. Mai 2018, 15:47:57 CEST schrieb Rich Freeman:
2 > On Sat, May 12, 2018 at 8:20 AM Gerion Entrup <gerion.entrup@×××××.de>
3 > wrote:
4 >
5 >
6 > > Different version keywording can be done as before:
7 > > ```
8 > > if [[ ${PV} == "3.1" ]] ; then
9 > > KEYWORDS="~amd64 ~x86"
10 > > else
11 > > KEYWORDS="amd64 x86"
12 > > fi
13 > > ```
14 >
15 > From a readability standpoint I could see this getting out of hand if we
16 > aren't careful.
17 I have kind of copied this code from a package, where a 9999 ebuild exists. So it is already there.
18
19 > Also, we'd want to keep this simple enough that the simple
20 > act of stabilizing a package doesn't introduce regressions (perhaps even in
21 > versions that we don't intend to touch). We'd also need rules about
22 > conditionals so that the metadata cache works.
23 Maybe this rule can be added:
24 4. Stable ebuilds are never multiversioned.
25
26 So once an ebuild get stable it is split out of the multiversion ebuild (aka copied) and not touched anymore.
27 Maybe this rule can be smoothed by moving the split to the point where new features are introduced in the ebuild:
28 4. If a multiversion ebuild contains a stable version and is changed featurewise (e.g. a new useflag), then the stable version is split out of the multiversion ebuild.
29
30 I don't know the internals of the metadata cache, so I can't say something to that.
31
32
33 > You also would need to be careful about ebuild revisions in general, since
34 > you're potentially affecting multiple versions at the same time.
35 You are right. But maybe it's the same fix, that is applied to all versions at once.
36
37 > How would revbumps fit into this? All kinds of bad things can happen by
38 > editing ebuilds in place, and this would compound the issue.
39 Maybe it is possible to solve with the following method:
40 1. If the fix affects all ebuild versions, revbump all versions in the ebuild.
41 2. If the fix affects only one version, split out this version of the ebuild and make it an explicit one (together with the fix).
42
43 The thing is that it is an additional concept. It does not replace the current mechanisms and at best reduces overhead for ebuilds that are identical.
44
45 Gerion

Attachments

File name MIME type
signature.asc application/pgp-signature