So, things are a little bit messy right now. We have "stable arches", "arches 
that are ~arch only (but occasional stable keywords can pop up and be 
ignored)", "arches that are ~arch only". In addition, some are always checked 
with repoman, some only with -d or (hic sunt leones) -e flag. 

The latter is controlled in profiles/profiles.desc, which designates 
*profiles*, 
not arches, as stable, dev, or exp. I *think* long ago "stable" here was 
supposed to also indicate that an arch is stable, but that connection is 
obsolete (and better should be). 

To improve our tree status, below I propose an enhancement for profiles.desc. 
Compatibility and upgrade are discussed at the end of the mail. 

Proposal: 
* Introduce a 4th column in profiles.desc
* Cosmetically modify the 3rd column

Meaning and values of the 3rd column:
"Does repoman check this profile?"
- "stable": yes, same as now, becomes legacy value to be deprecated
- "always": yes, same as "stable" now
- "dev": only with -d
- "exp": only with -e

Meaning and values of the 4th column:
"Does this arch support stable keywords, and how should "arch" vs. "~arch" be 
treated?"
- "stable": separately check consistency of ~arch and arch tree, both have to 
be OK. This is what repoman is doing now, and is the default if the 4th column 
is undefined. 
- "testing": treat "arch" as "~arch" when requiring consistency, do not check 
"arch" alone. Useful if an arch wants to prepare going stable, useful for arch 
teams maintaining a pseudo-stable subset for stages. repoman could have a new 
command line switch that temporarily upgrades from "testing" to "stable" (for 
arch team work).
- "unstable": check "~arch" only, "arch" in an ebuild produces a fatal repoman 
error

Compatibility and transition: 

0) Interestingly PMS defines profiles.desc and its fields, but does not say 
anything how it should be used. This could probably be enhanced with the next 
PMS version. 

1) Compatibility: Old profiles.desc and new system
The missing 4th column is treated as "stable", which is current behaviour. 

2) Compatibility: New profiles.desc and old system
A 4th column leads to an error "wrong format" in repoman. This is not so nice, 
but a pure developer problem (and these can be expected to update repoman). 
Also gentoolkit displays a backtrace.
Testing shows no impact on "emerge" (portage team plz confirm), meaning that 
broken utilities (repoman, gentoolkit) can be updated to working versions 
normally.

3) On introduction of the new column, it can be left empty for the moment. 
Arches like e.g. mips could eventally move from "dev stable" to "always 
testing" or "always unstable" to maintain a consistent ~arch deptree and maybe 
upgrade to stable some day.


Opinions, flames, cookies?

Cheers, Andreas


-- 
Andreas K. Hüttel
dilfri...@gentoo.org
Gentoo Linux developer (council, perl, libreoffice)

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to