Gentoo Archives: gentoo-dev

From: Sam James <sam@g.o>
To: gentoo-dev@l.g.o
Cc: John Helmert III <ajak@g.o>
Subject: Re: [gentoo-dev] You currently cannot smoothly upgrade a 4 months old Gentoo system
Date: Wed, 03 Nov 2021 23:27:12
Message-Id: 584AC743-488D-49D8-BF38-2102AFDAE80D@gentoo.org
In Reply to: Re: [gentoo-dev] You currently cannot smoothly upgrade a 4 months old Gentoo system by Rich Freeman
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

Attachments

File name MIME type
signature.asc application/pgp-signature