Gentoo Archives: gentoo-dev

From: Mart Raudsepp <leio@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
Date: Sun, 29 Jan 2017 16:27:05
Message-Id: 1485706834.981.2.camel@gentoo.org
In Reply to: Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) by "Andreas K. Huettel"
1 Ühel kenal päeval, P, 29.01.2017 kell 16:06, kirjutas Andreas K.
2 Huettel:
3 > However one valid point that came up in discussions is - whether an
4 > arch 
5 > supports stable keywords is a per-arch setting, not a per-profile
6 > setting. So 
7 > we can actually make things much easier (and the transition safer).
8 >
9 > Proposal No 2:
10 > * Leave profiles.desc unmodified
11 > * Introduce a new file arch.desc, which contains the "stability
12 > status" of an 
13 > arch; 
14 >
15 > Syntax: 2 columns,
16 > # arch status
17 > amd64 stable
18 > mips testing
19 > sh unstable
20 >
21 > The meaning of the keywords "stable", "testing", "unstable" is the
22 > same as in 
23 > the previous proposal, 
24
25 Maybe declare from the start that any extra columns should be silently
26 ignored in implementations from start, as to be able to safely add more
27 columns in the future without breaking backwards compatibility.
28
29 > > "Does this arch support stable keywords, and how should "arch" vs.
30 > > "~arch"
31 > > be treated?"
32 > > - "stable": separately check consistency of ~arch and arch tree,
33 > > both have
34 > > to be OK. This is what repoman is doing now, and is the default if
35 > > the 4th
36 > > column is undefined.
37 > > - "testing": treat "arch" as "~arch" when requiring consistency, do
38 > > not
39 > > check "arch" alone. Useful if an arch wants to prepare going
40 > > stable, useful
41 > > for arch teams maintaining a pseudo-stable subset for stages.
42 > > repoman could
43 > > have a new command line switch that temporarily upgrades from
44 > > "testing" to
45 > > "stable" (for arch team work).
46 > > - "unstable": check "~arch" only, "arch" in an ebuild produces a
47 > > fatal
48 > > repoman error
49 >
50 > The combination of current profiles.desc and new arch.desc provides
51 > the same 
52 > flexibility as in the previous e-mail.
53 >
54 > Compatibility and transition:
55 >
56 > 0) PMS should be amended to allow the additional file.
57 >
58 > 1) Compatibility: No arch.desc and new system, or arch not listed in
59 > arch.desc
60 > *Arches* are treated as "stable" by repoman (current behaviour), with
61 > profile 
62 > status according to profiles.desc.
63 > Gentoolkit and other tools trying to determine a list of stable
64 > arches should 
65 > fall back to current method of scanning profiles.desc for stable
66 > profiles.
67 >
68 > 2) Compatibility: arch.desc and old system
69 > Tools ignore the unknown file (?).
70 > Repoman and other tools may emit surplus errors when profiles are
71 > checked on 
72 > arches that are "testing" (they check the consistency of the stable
73 > tree 
74 > alone, which is not OK, since "arch" is supposed to be treated like
75 > "~arch").
76 >
77 > 3) On introduction of the new column, it will be set to "stable" for
78 > all 
79 > stable arches, "testing" for all arches where "inofficial" stable
80 > keywords 
81 > exist (sh, s390, ...), and "unstable" everywhere else. 
82
83 Might want a "broken" (with maybe a better name) for some of these. I
84 bet the ~arch of some of these is broken too, and no-one to respond to
85 keyword requests, just happens when it happens.
86 arm64 and mips are in that state too until we get that fixed and could
87 move to "testing" and then later "stable" in case of arm64.
88
89 > 4) Arches in "testing" or "unstable" may eventually consider re-
90 > introducing 
91 > stable *profiles* so their deptree in ~arch remains consistent.

Replies