public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Improving profiles/profiles.desc and repoman checking
@ 2017-01-28 20:01 Andreas K. Huettel
  2017-01-28 20:32 ` M. J. Everitt
  2017-01-29 15:06 ` [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) Andreas K. Huettel
  0 siblings, 2 replies; 12+ messages in thread
From: Andreas K. Huettel @ 2017-01-28 20:01 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-portage-dev

[-- Attachment #1: Type: text/plain, Size: 2949 bytes --]

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
dilfridge@gentoo.org
Gentoo Linux developer (council, perl, libreoffice)

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving profiles/profiles.desc and repoman checking
  2017-01-28 20:01 [gentoo-dev] Improving profiles/profiles.desc and repoman checking Andreas K. Huettel
@ 2017-01-28 20:32 ` M. J. Everitt
  2017-01-28 20:38   ` Andreas K. Huettel
  2017-01-29 15:06 ` [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) Andreas K. Huettel
  1 sibling, 1 reply; 12+ messages in thread
From: M. J. Everitt @ 2017-01-28 20:32 UTC (permalink / raw
  To: gentoo-dev


[-- Attachment #1.1: Type: text/plain, Size: 3364 bytes --]

On 28/01/17 20:01, Andreas K. Huettel wrote:
> 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, et al,

How does this compare/contrast/integrate with kent\n's proposal
regarding "profiles.types"? It looks complementary at worst, possibly
much the same at best. Since you're in relatively close contact, perhaps
you could discuss and present a joint effort with possibly plural
schemes? Just my observations! :)

Cheers,
MJE


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving profiles/profiles.desc and repoman checking
  2017-01-28 20:32 ` M. J. Everitt
@ 2017-01-28 20:38   ` Andreas K. Huettel
  2017-01-28 20:41     ` M. J. Everitt
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas K. Huettel @ 2017-01-28 20:38 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 431 bytes --]

Am Samstag, 28. Januar 2017, 20:32:54 CET schrieb M. J. Everitt:
>
> How does this compare/contrast/integrate with kent\n's proposal
> regarding "profiles.types"?

Oops. 

Sorry I'm a bit back in mailing list reading. I came up with this some time 
ago, and wanted to finally send it out. Will read the backlog now... :/


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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving profiles/profiles.desc and repoman checking
  2017-01-28 20:38   ` Andreas K. Huettel
@ 2017-01-28 20:41     ` M. J. Everitt
  0 siblings, 0 replies; 12+ messages in thread
From: M. J. Everitt @ 2017-01-28 20:41 UTC (permalink / raw
  To: gentoo-dev


[-- Attachment #1.1: Type: text/plain, Size: 499 bytes --]

On 28/01/17 20:38, Andreas K. Huettel wrote:
> Am Samstag, 28. Januar 2017, 20:32:54 CET schrieb M. J. Everitt:
>> How does this compare/contrast/integrate with kent\n's proposal
>> regarding "profiles.types"?
> Oops. 
>
> Sorry I'm a bit back in mailing list reading. I came up with this some time 
> ago, and wanted to finally send it out. Will read the backlog now... :/
>
>
As noted in IRC, and apologies to ML readers .. this was a post kent
made in IRC .. not on the ML!!

MJE


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-28 20:01 [gentoo-dev] Improving profiles/profiles.desc and repoman checking Andreas K. Huettel
  2017-01-28 20:32 ` M. J. Everitt
@ 2017-01-29 15:06 ` Andreas K. Huettel
  2017-01-29 16:20   ` Mart Raudsepp
  2017-01-29 19:08   ` james
  1 sibling, 2 replies; 12+ messages in thread
From: Andreas K. Huettel @ 2017-01-29 15:06 UTC (permalink / raw
  To: gentoo-dev; +Cc: gentoo-portage-dev

[-- Attachment #1: Type: text/plain, Size: 2837 bytes --]

So I've been talking to kent\n and the conclusion is that our ideas basically 
do and achieve the same, with a slightly different approach. (I still like 
mine better though. :)

However one valid point that came up in discussions is - whether an arch 
supports stable keywords is a per-arch setting, not a per-profile setting. So 
we can actually make things much easier (and the transition safer).

Proposal No 2:
* Leave profiles.desc unmodified
* Introduce a new file arch.desc, which contains the "stability status" of an 
arch; 

Syntax: 2 columns,
# arch status
amd64	stable
mips	testing
sh		unstable

The meaning of the keywords "stable", "testing", "unstable" is the same as in 
the previous proposal, 

> "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

The combination of current profiles.desc and new arch.desc provides the same 
flexibility as in the previous e-mail.

Compatibility and transition:

0) PMS should be amended to allow the additional file.

1) Compatibility: No arch.desc and new system, or arch not listed in arch.desc
*Arches* are treated as "stable" by repoman (current behaviour), with profile 
status according to profiles.desc.
Gentoolkit and other tools trying to determine a list of stable arches should 
fall back to current method of scanning profiles.desc for stable profiles.

2) Compatibility: arch.desc and old system
Tools ignore the unknown file (?).
Repoman and other tools may emit surplus errors when profiles are checked on 
arches that are "testing" (they check the consistency of the stable tree 
alone, which is not OK, since "arch" is supposed to be treated like "~arch").

3) On introduction of the new column, it will be set to "stable" for all 
stable arches, "testing" for all arches where "inofficial" stable keywords 
exist (sh, s390, ...), and "unstable" everywhere else. 

4) Arches in "testing" or "unstable" may eventually consider re-introducing 
stable *profiles* so their deptree in ~arch remains consistent.

More opinions, flames, cookies?

Cheers, Andreas


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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 15:06 ` [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) Andreas K. Huettel
@ 2017-01-29 16:20   ` Mart Raudsepp
  2017-01-29 17:30     ` Kent Fredric
                       ` (2 more replies)
  2017-01-29 19:08   ` james
  1 sibling, 3 replies; 12+ messages in thread
From: Mart Raudsepp @ 2017-01-29 16:20 UTC (permalink / raw
  To: gentoo-dev

Ühel kenal päeval, P, 29.01.2017 kell 16:06, kirjutas Andreas K.
Huettel:
> However one valid point that came up in discussions is - whether an
> arch 
> supports stable keywords is a per-arch setting, not a per-profile
> setting. So 
> we can actually make things much easier (and the transition safer).
> 
> Proposal No 2:
> * Leave profiles.desc unmodified
> * Introduce a new file arch.desc, which contains the "stability
> status" of an 
> arch; 
> 
> Syntax: 2 columns,
> # arch status
> amd64	stable
> mips	testing
> sh		unstable
> 
> The meaning of the keywords "stable", "testing", "unstable" is the
> same as in 
> the previous proposal, 

Maybe declare from the start that any extra columns should be silently
ignored in implementations from start, as to be able to safely add more
columns in the future without breaking backwards compatibility.

> > "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
> 
> The combination of current profiles.desc and new arch.desc provides
> the same 
> flexibility as in the previous e-mail.
> 
> Compatibility and transition:
> 
> 0) PMS should be amended to allow the additional file.
> 
> 1) Compatibility: No arch.desc and new system, or arch not listed in
> arch.desc
> *Arches* are treated as "stable" by repoman (current behaviour), with
> profile 
> status according to profiles.desc.
> Gentoolkit and other tools trying to determine a list of stable
> arches should 
> fall back to current method of scanning profiles.desc for stable
> profiles.
> 
> 2) Compatibility: arch.desc and old system
> Tools ignore the unknown file (?).
> Repoman and other tools may emit surplus errors when profiles are
> checked on 
> arches that are "testing" (they check the consistency of the stable
> tree 
> alone, which is not OK, since "arch" is supposed to be treated like
> "~arch").
> 
> 3) On introduction of the new column, it will be set to "stable" for
> all 
> stable arches, "testing" for all arches where "inofficial" stable
> keywords 
> exist (sh, s390, ...), and "unstable" everywhere else. 

Might want a "broken" (with maybe a better name) for some of these. I
bet the ~arch of some of these is broken too, and no-one to respond to
keyword requests, just happens when it happens.
arm64 and mips are in that state too until we get that fixed and could
move to "testing" and then later "stable" in case of arm64.

> 4) Arches in "testing" or "unstable" may eventually consider re-
> introducing 
> stable *profiles* so their deptree in ~arch remains consistent.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 16:20   ` Mart Raudsepp
@ 2017-01-29 17:30     ` Kent Fredric
  2017-01-29 17:37     ` Kent Fredric
  2017-01-29 21:07     ` Andreas K. Huettel
  2 siblings, 0 replies; 12+ messages in thread
From: Kent Fredric @ 2017-01-29 17:30 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 999 bytes --]

On Sun, 29 Jan 2017 18:20:34 +0200
Mart Raudsepp <leio@gentoo.org> wrote:

> Maybe declare from the start that any extra columns should be silently
> ignored in implementations from start, as to be able to safely add more
> columns in the future without breaking backwards compatibility.

Maybe not silently, maybe just a warning that there are additional columns
or field values not supported by the existing version, so that one knows
they are possibly missing out on some important checks.

Maybe even worth specifying that the first line of the file is a comment
like

# version:app-portage/repoman-2.3.1

Which can be extracted and displayed to a user as follows:

"Unsupported values in profiles/arch.desc: foo, bar, baz
 Consider upgrading to at least ${version} or equivalent"

Where "${version}" is extracted via /#\s*version:([^ ]*)/

( That is, showing the contents of the part after "version:" verbatim
  and not even considering doing version comparisons )



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 16:20   ` Mart Raudsepp
  2017-01-29 17:30     ` Kent Fredric
@ 2017-01-29 17:37     ` Kent Fredric
  2017-01-29 21:07     ` Andreas K. Huettel
  2 siblings, 0 replies; 12+ messages in thread
From: Kent Fredric @ 2017-01-29 17:37 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1637 bytes --]

On Sun, 29 Jan 2017 18:20:34 +0200
Mart Raudsepp <leio@gentoo.org> wrote:

> Might want a "broken" (with maybe a better name) for some of these. I
> bet the ~arch of some of these is broken too, and no-one to respond to
> keyword requests, just happens when it happens.
> arm64 and mips are in that state too until we get that fixed and could
> move to "testing" and then later "stable" in case of arm64.

This is one aspect I liked about my other proposal, that the behaviours
associated with various keywords was well defined.

---
# keywords: 
#   - strict: arch-foo and ~arch-foo treated distinctly
#   - mixed: arch-foo treated as ~arch-foo
#   - any: packages that exist and have any keywords are ~arch-foo
#
# dependencies:
#   - enforce: referential integrity within logical keywords 
#              is required
#   - warn: referential integrity within logical keywords
#           warns when its bad, and enforced with -d
#   - ignore: referential integrity is not even considered
#             without -e y  and enforced with -e y

# name  | keywords | dependencies
stable strict check

# was strict ignore
dev mixed warn
exp mixed ignore
----

In that, its instructive as to the significance of the terms.

"Unstable" and "Broken" don't really say much to me.

But dependencies=ignore much more adequately communicates to me
the state that, dependency coherence is known to be problematic
and that you should not care about dependency coherence unless
you have some specific agenda.


If we can mix and match some of these designs with the arch.desc file
however, I'm all for it.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 15:06 ` [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) Andreas K. Huettel
  2017-01-29 16:20   ` Mart Raudsepp
@ 2017-01-29 19:08   ` james
  2017-01-29 20:29     ` Kent Fredric
  1 sibling, 1 reply; 12+ messages in thread
From: james @ 2017-01-29 19:08 UTC (permalink / raw
  To: gentoo-dev

On 01/29/2017 10:06 AM, Andreas K. Huettel wrote:
> So I've been talking to kent\n and the conclusion is that our ideas basically
> do and achieve the same, with a slightly different approach. (I still like
> mine better though. :)
>
> However one valid point that came up in discussions is - whether an arch
> supports stable keywords is a per-arch setting, not a per-profile setting. So
> we can actually make things much easier (and the transition safer).
>
> Proposal No 2:
> * Leave profiles.desc unmodified
> * Introduce a new file arch.desc, which contains the "stability status" of an
> arch;
>
> Syntax: 2 columns,
> # arch status
> amd64	stable
> mips	testing
> sh		unstable
>
> The meaning of the keywords "stable", "testing", "unstable" is the same as in
> the previous proposal,
>
>> "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
>
> The combination of current profiles.desc and new arch.desc provides the same
> flexibility as in the previous e-mail.
>
> Compatibility and transition:
>
> 0) PMS should be amended to allow the additional file.
>
> 1) Compatibility: No arch.desc and new system, or arch not listed in arch.desc
> *Arches* are treated as "stable" by repoman (current behaviour), with profile
> status according to profiles.desc.
> Gentoolkit and other tools trying to determine a list of stable arches should
> fall back to current method of scanning profiles.desc for stable profiles.
>
> 2) Compatibility: arch.desc and old system
> Tools ignore the unknown file (?).
> Repoman and other tools may emit surplus errors when profiles are checked on
> arches that are "testing" (they check the consistency of the stable tree
> alone, which is not OK, since "arch" is supposed to be treated like "~arch").
>
> 3) On introduction of the new column, it will be set to "stable" for all
> stable arches, "testing" for all arches where "inofficial" stable keywords
> exist (sh, s390, ...), and "unstable" everywhere else.
>
> 4) Arches in "testing" or "unstable" may eventually consider re-introducing
> stable *profiles* so their deptree in ~arch remains consistent.
>
> More opinions, flames, cookies?
>
> Cheers, Andreas

I like what I have read here and elsewhere.

Solutions centric around  a minimized profile will allow gentooers to 
use identical (minimized) profiles for a wide variety of hardware 
types:: different uP, dsp, fpga, custom (soc, asic, etc). I.E. 
heterogeneous gentoo clusters without any systemd associated codes. I do 
not have access to Kent's posting so perhaps a reference to Kent's ideas?


It would be very much appreciated if there is a posting on this list of 
what the consensus becomes, with some discussion as to how it will 
affect the ever expanding variety of cluster formations, particularly 
gentoo-style unikernel types of clusters and how to cluster up a variety 
of gentoo-embedded systems, which are actually quite similar to
unikernel based clusters.


A state-diagram of just how all of these profiles are intertwined, would 
help to clarify the details and thus be keenly appreciate, when a final 
verdict is reached.


hth,
James



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 19:08   ` james
@ 2017-01-29 20:29     ` Kent Fredric
  2017-01-29 20:51       ` Andreas K. Huettel
  0 siblings, 1 reply; 12+ messages in thread
From: Kent Fredric @ 2017-01-29 20:29 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 4097 bytes --]

On Sun, 29 Jan 2017 14:08:05 -0500
james <garftd@verizon.net> wrote:

>  I do 
> not have access to Kent's posting so perhaps a reference to Kent's ideas?

Happened on IRC, not on any ML ( though I copied a basic copy of it in another thread )

But I'm not going to reiterate it here due to its chances of introducing confusion.

To an extent there are things I like about the arches.desc proposal, but there are
things I'd avoid.

For instance:

---
  amd64  stable
---

In arches.desc doesn't really improve the situation a whole lot over the current situation
where the equivalent data in profiles.desc is itself, lacking sufficient granularity.

Instead, I'd rather the <arches.desc> file contain columns describing specific treatment of
specific things.

So instead, I'd prefer something in <arches.desc> akin to ( but not necessarily identical to )

---
   amd64 keywords=strict checkdeps=stable enforcedeps=stable
   mips  keywords=mixed  checkdeps=stable enforcedeps=dev
   m68k  keywords=mixed  checkdeps=exp    enforcedeps=exp
---

Now, I've used a "<key>=<value>" syntax here inline mostly because it makes examples easier
to show briefly, but a column-oriented syntax as "arch,keywords,checkdeps,enforcedeps" would also be fine.

I'd imagine the legal values for "keywords" being as follows:

- strict: arch-foo and ~arch-foo treated distinctly
- mixed: arch-foo treated as ~arch-foo
- any: packages that exist and have any keywords are ~arch-foo


"checkdeps" and "enforcedeps" are controls that dictate how to handle this arch
by default in repoman, all accepting the terms "stable, dev, exp, never"

- checkdeps=stable : dependency consistency is checked and reported by default
- checkdeps=dev    : dependency consistency is only checked and reported with -d or -e y
- checkdeps=exp    : dependency consistency is only checked and reported with -e y

- enforcedeps=stable : dependency consistency failures are fatalised by default
- enforcedeps=dev    : dependency consistency failures are only fatalized with -d or -e y
- enforcedeps=exp    : dependency consistency failures are only fatailised with -e y

However, in writing this, I realised that some profiles we may have in future may be inherently *archless*
and I don't know how this approach will work in conjunction with that.

Which draws me back to my original idea of having "profiles.types", where field[1] is a freeform value
which is used as field[3] in profiles.desc

Here is what a "profiles.types" would look like today:

---
   stable keywords=strict checkdeps=stable enforcedeps=stable
   dev    keywords=strict checkdeps=dev    enforcedeps=dev
   exp    keywords=strict checkdeps=exp    enforcedeps=exp
---

And here is how we want it to look in the near future

---
   stable keywords=strict checkdeps=stable enforcedeps=stable
   dev    keywords=mixed  checkdeps=stable enforcedeps=dev
   exp    keywords=mixed  checkdeps=exp    enforcedeps=exp
---

And down the road, we may want to add a third grade, "testing"

---
   stable  keywords=strict checkdeps=stable enforcedeps=stable
   testing keywords=strict checkdeps=stable enforcedeps=dev
   dev     keywords=mixed  checkdeps=stable enforcedeps=dev
   exp     keywords=mixed  checkdeps=exp    enforcedeps=exp
---

Even later down the road we could add an argument "-t" to repoman
which would allow us to add another field to the list:

- checkdeps=testing   : dependency consistency is checked  with -t, -d, or -e y
- enforcedeps=testing : dependency consistency is enforced with -t, -d, or -e y

---
   stable  keywords=strict checkdeps=stable enforcedeps=stable
   testing keywords=strict checkdeps=stable enforcedeps=testing
   dev     keywords=mixed  checkdeps=stable enforcedeps=dev
   exp     keywords=mixed  checkdeps=exp    enforcedeps=exp
---

But like, I'm not really sure enough about what I want to write a full proposal
for anything yet, ( Though I am getting really fond of <key>=<value> instead of
relying on columns to identify key )




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 20:29     ` Kent Fredric
@ 2017-01-29 20:51       ` Andreas K. Huettel
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas K. Huettel @ 2017-01-29 20:51 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 763 bytes --]

Am Montag, 30. Januar 2017, 09:29:06 CET schrieb Kent Fredric:

> ---
>    amd64 keywords=strict checkdeps=stable enforcedeps=stable
>    mips  keywords=mixed  checkdeps=stable enforcedeps=dev
>    m68k  keywords=mixed  checkdeps=exp    enforcedeps=exp
> ---

The problem with this is that (already now) dependency checking and enforcing 
is done per profile. And (as we've seen in a separate thread) via mask and 
force files the deptree can look quite different. 

So this would have to apply to *all* profiles of an arch, with a loss of 
functionality. And with a loss of speed, there's a good reason why on arm e.g. 
only one profile is stable.

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file)
  2017-01-29 16:20   ` Mart Raudsepp
  2017-01-29 17:30     ` Kent Fredric
  2017-01-29 17:37     ` Kent Fredric
@ 2017-01-29 21:07     ` Andreas K. Huettel
  2 siblings, 0 replies; 12+ messages in thread
From: Andreas K. Huettel @ 2017-01-29 21:07 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2101 bytes --]

> > Proposal No 2:
> > * Leave profiles.desc unmodified
> > * Introduce a new file arch.desc, which contains the "stability
> > status" of an 
> > arch; 
> > 
> > Syntax: 2 columns,
> > # arch status
> > amd64	stable
> > mips	testing
> > sh		unstable
> > 
> > The meaning of the keywords "stable", "testing", "unstable" is the
> > same as in 
> > the previous proposal, 
> 
> Maybe declare from the start that any extra columns should be silently
> ignored in implementations from start, as to be able to safely add more
> columns in the future without breaking backwards compatibility.

Makes sense.

> > 3) On introduction of the new column, it will be set to "stable" for
> > all 
> > stable arches, "testing" for all arches where "inofficial" stable
> > keywords 
> > exist (sh, s390, ...), and "unstable" everywhere else. 
> 
> Might want a "broken" (with maybe a better name) for some of these. I
> bet the ~arch of some of these is broken too, and no-one to respond to
> keyword requests, just happens when it happens.
> arm64 and mips are in that state too until we get that fixed and could
> move to "testing" and then later "stable" in case of arm64.

That's already "in the system". Let's discuss, for example, m68k (my favourite 
broken arch). 

Now: 
* There are some stable keywords hanging around, but nobody cares about them 
except the m68k arch team (= Mike).
* All m68k profiles are "exp".
Repoman happily ignores it (unless you use -e).

In the near future:
* m68k is marked "testing" in arches.desc
* All m68k profiles remain "exp"
Repoman *still* happily ignores it (unless you use -e); if you use -e, it will 
test it with ~m68k=m68k.

In the far future, given the arch team is intersted:
* Upgrade profiles from exp to dev or even stable -> repoman will test it more, 
but still using ~m68k=m68k. 

So, whatever "non-support for broken arches" we have now will keep existing. 
Just that migrating away from it gets easier.

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-01-29 21:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-28 20:01 [gentoo-dev] Improving profiles/profiles.desc and repoman checking Andreas K. Huettel
2017-01-28 20:32 ` M. J. Everitt
2017-01-28 20:38   ` Andreas K. Huettel
2017-01-28 20:41     ` M. J. Everitt
2017-01-29 15:06 ` [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) Andreas K. Huettel
2017-01-29 16:20   ` Mart Raudsepp
2017-01-29 17:30     ` Kent Fredric
2017-01-29 17:37     ` Kent Fredric
2017-01-29 21:07     ` Andreas K. Huettel
2017-01-29 19:08   ` james
2017-01-29 20:29     ` Kent Fredric
2017-01-29 20:51       ` Andreas K. Huettel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox