1 |
So, things are a little bit messy right now. We have "stable arches", "arches |
2 |
that are ~arch only (but occasional stable keywords can pop up and be |
3 |
ignored)", "arches that are ~arch only". In addition, some are always checked |
4 |
with repoman, some only with -d or (hic sunt leones) -e flag. |
5 |
|
6 |
The latter is controlled in profiles/profiles.desc, which designates *profiles*, |
7 |
not arches, as stable, dev, or exp. I *think* long ago "stable" here was |
8 |
supposed to also indicate that an arch is stable, but that connection is |
9 |
obsolete (and better should be). |
10 |
|
11 |
To improve our tree status, below I propose an enhancement for profiles.desc. |
12 |
Compatibility and upgrade are discussed at the end of the mail. |
13 |
|
14 |
Proposal: |
15 |
* Introduce a 4th column in profiles.desc |
16 |
* Cosmetically modify the 3rd column |
17 |
|
18 |
Meaning and values of the 3rd column: |
19 |
"Does repoman check this profile?" |
20 |
- "stable": yes, same as now, becomes legacy value to be deprecated |
21 |
- "always": yes, same as "stable" now |
22 |
- "dev": only with -d |
23 |
- "exp": only with -e |
24 |
|
25 |
Meaning and values of the 4th column: |
26 |
"Does this arch support stable keywords, and how should "arch" vs. "~arch" be |
27 |
treated?" |
28 |
- "stable": separately check consistency of ~arch and arch tree, both have to |
29 |
be OK. This is what repoman is doing now, and is the default if the 4th column |
30 |
is undefined. |
31 |
- "testing": treat "arch" as "~arch" when requiring consistency, do not check |
32 |
"arch" alone. Useful if an arch wants to prepare going stable, useful for arch |
33 |
teams maintaining a pseudo-stable subset for stages. repoman could have a new |
34 |
command line switch that temporarily upgrades from "testing" to "stable" (for |
35 |
arch team work). |
36 |
- "unstable": check "~arch" only, "arch" in an ebuild produces a fatal repoman |
37 |
error |
38 |
|
39 |
Compatibility and transition: |
40 |
|
41 |
0) Interestingly PMS defines profiles.desc and its fields, but does not say |
42 |
anything how it should be used. This could probably be enhanced with the next |
43 |
PMS version. |
44 |
|
45 |
1) Compatibility: Old profiles.desc and new system |
46 |
The missing 4th column is treated as "stable", which is current behaviour. |
47 |
|
48 |
2) Compatibility: New profiles.desc and old system |
49 |
A 4th column leads to an error "wrong format" in repoman. This is not so nice, |
50 |
but a pure developer problem (and these can be expected to update repoman). |
51 |
Also gentoolkit displays a backtrace. |
52 |
Testing shows no impact on "emerge" (portage team plz confirm), meaning that |
53 |
broken utilities (repoman, gentoolkit) can be updated to working versions |
54 |
normally. |
55 |
|
56 |
3) On introduction of the new column, it can be left empty for the moment. |
57 |
Arches like e.g. mips could eventally move from "dev stable" to "always |
58 |
testing" or "always unstable" to maintain a consistent ~arch deptree and maybe |
59 |
upgrade to stable some day. |
60 |
|
61 |
|
62 |
Opinions, flames, cookies? |
63 |
|
64 |
Cheers, Andreas |
65 |
|
66 |
|
67 |
-- |
68 |
Andreas K. Hüttel |
69 |
dilfridge@g.o |
70 |
Gentoo Linux developer (council, perl, libreoffice) |