1 |
> On 3 Nov 2021, at 20:16, Rich Freeman <rich0@g.o> wrote: |
2 |
> It probably would be good to get these policies documented someplace |
3 |
> OTHER than the council decision logs. I do remember the discussion |
4 |
> from the distant past but it is worth having it in a more prominent |
5 |
> place, especially since a one year stable update path is not going to |
6 |
> happen by accident. |
7 |
|
8 |
+1 |
9 |
|
10 |
> I was thinking that it matters way more that @system is updatable than |
11 |
> world in general, since @system can be used to bootstrap everything |
12 |
> else. However, I think this distinction really doesn't make much of a |
13 |
> difference. If your system can't be smoothly updated, it is unlikely |
14 |
> to be due to some leaf package like a browser/MUA/etc. Most likely it |
15 |
> is due to a widely-used dependency. |
16 |
> So, by all means require @world to be updatable, but I think that if |
17 |
> you focus on the packages in @system you'll basically get the rest for |
18 |
> free. |
19 |
|
20 |
This isn't quite true because it's very possible that plenty of things |
21 |
will have e.g. subslot deps on @system packages and therefore |
22 |
are holding them back if a change happens (you want to rebuild |
23 |
everything together). |
24 |
|
25 |
> EAPI 8 came up in a later email and to consolidate replies I'll just |
26 |
> say that the issue isn't so much adopting EAPIs in newer packages, but |
27 |
> the rush to tidy up old ones that creates the problems. |
28 |
|
29 |
Right. I think we could really try to just not cleanup so aggressively |
30 |
unless we know there's some nasty < dep in the ebuild. |
31 |
|
32 |
There's another really good reason for this: stabilisation and such |
33 |
doesn't catch everything, and you might find you just got upgraded |
34 |
to a newly-stabled ebuild which doesn't work, and now you have |
35 |
to fight to downgrade because cleanup was immediately done! |
36 |
|
37 |
> Having QA tools detect this would be ideal, but right now they could |
38 |
> only reliably detect things like newer EAPIs in @system. Since we |
39 |
> don't require putting @system dependencies in packages there is no way |
40 |
> for a QA tool to tell what is or isn't needed to update portage. Then |
41 |
> you have more complex situations like PYTHON_TARGETS, and probably |
42 |
> others as well. I had one host that struggled a bit with the xcrypt |
43 |
> update for some reason (some weird preserved libs issue or something - |
44 |
> libcrypt was still showing up as owned by glibc after updating it and |
45 |
> I had to override collisions to get xcrypt to install). When |
46 |
> upgrading a system that is completely up to date requires careful |
47 |
> following of news items it is going to be painful to execute a whole |
48 |
> bunch of updates at once. |
49 |
|
50 |
(We did work very hard on this to make it as smooth as possible |
51 |
and we've also dropped the workaround which caused the intentional |
52 |
collision (which we mentioned in the news item + glibc's pkg_postinst) |
53 |
which Portage should've ignored with default FEATURES b/c the file |
54 |
was orphaned, but it should be better now.) |
55 |
|
56 |
best, |
57 |
sam |