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