Gentoo Archives: gentoo-dev

From: Kent Fredric <kentnl@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 20:29:47
Message-Id: 20170130092906.2b8ced69@katipo2.lan
In Reply to: Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) by james
1 On Sun, 29 Jan 2017 14:08:05 -0500
2 james <garftd@×××××××.net> wrote:
3
4 > I do
5 > not have access to Kent's posting so perhaps a reference to Kent's ideas?
6
7 Happened on IRC, not on any ML ( though I copied a basic copy of it in another thread )
8
9 But I'm not going to reiterate it here due to its chances of introducing confusion.
10
11 To an extent there are things I like about the arches.desc proposal, but there are
12 things I'd avoid.
13
14 For instance:
15
16 ---
17 amd64 stable
18 ---
19
20 In arches.desc doesn't really improve the situation a whole lot over the current situation
21 where the equivalent data in profiles.desc is itself, lacking sufficient granularity.
22
23 Instead, I'd rather the <arches.desc> file contain columns describing specific treatment of
24 specific things.
25
26 So instead, I'd prefer something in <arches.desc> akin to ( but not necessarily identical to )
27
28 ---
29 amd64 keywords=strict checkdeps=stable enforcedeps=stable
30 mips keywords=mixed checkdeps=stable enforcedeps=dev
31 m68k keywords=mixed checkdeps=exp enforcedeps=exp
32 ---
33
34 Now, I've used a "<key>=<value>" syntax here inline mostly because it makes examples easier
35 to show briefly, but a column-oriented syntax as "arch,keywords,checkdeps,enforcedeps" would also be fine.
36
37 I'd imagine the legal values for "keywords" being as follows:
38
39 - strict: arch-foo and ~arch-foo treated distinctly
40 - mixed: arch-foo treated as ~arch-foo
41 - any: packages that exist and have any keywords are ~arch-foo
42
43
44 "checkdeps" and "enforcedeps" are controls that dictate how to handle this arch
45 by default in repoman, all accepting the terms "stable, dev, exp, never"
46
47 - checkdeps=stable : dependency consistency is checked and reported by default
48 - checkdeps=dev : dependency consistency is only checked and reported with -d or -e y
49 - checkdeps=exp : dependency consistency is only checked and reported with -e y
50
51 - enforcedeps=stable : dependency consistency failures are fatalised by default
52 - enforcedeps=dev : dependency consistency failures are only fatalized with -d or -e y
53 - enforcedeps=exp : dependency consistency failures are only fatailised with -e y
54
55 However, in writing this, I realised that some profiles we may have in future may be inherently *archless*
56 and I don't know how this approach will work in conjunction with that.
57
58 Which draws me back to my original idea of having "profiles.types", where field[1] is a freeform value
59 which is used as field[3] in profiles.desc
60
61 Here is what a "profiles.types" would look like today:
62
63 ---
64 stable keywords=strict checkdeps=stable enforcedeps=stable
65 dev keywords=strict checkdeps=dev enforcedeps=dev
66 exp keywords=strict checkdeps=exp enforcedeps=exp
67 ---
68
69 And here is how we want it to look in the near future
70
71 ---
72 stable keywords=strict checkdeps=stable enforcedeps=stable
73 dev keywords=mixed checkdeps=stable enforcedeps=dev
74 exp keywords=mixed checkdeps=exp enforcedeps=exp
75 ---
76
77 And down the road, we may want to add a third grade, "testing"
78
79 ---
80 stable keywords=strict checkdeps=stable enforcedeps=stable
81 testing keywords=strict checkdeps=stable enforcedeps=dev
82 dev keywords=mixed checkdeps=stable enforcedeps=dev
83 exp keywords=mixed checkdeps=exp enforcedeps=exp
84 ---
85
86 Even later down the road we could add an argument "-t" to repoman
87 which would allow us to add another field to the list:
88
89 - checkdeps=testing : dependency consistency is checked with -t, -d, or -e y
90 - enforcedeps=testing : dependency consistency is enforced with -t, -d, or -e y
91
92 ---
93 stable keywords=strict checkdeps=stable enforcedeps=stable
94 testing keywords=strict checkdeps=stable enforcedeps=testing
95 dev keywords=mixed checkdeps=stable enforcedeps=dev
96 exp keywords=mixed checkdeps=exp enforcedeps=exp
97 ---
98
99 But like, I'm not really sure enough about what I want to write a full proposal
100 for anything yet, ( Though I am getting really fond of <key>=<value> instead of
101 relying on columns to identify key )

Replies

Subject Author
Re: [gentoo-dev] Improving repoman checking, better idea (add arch.desc file) "Andreas K. Huettel" <dilfridge@g.o>