Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: RFC: Making backwards-incompatible tree changes | a solution for GLEP 55's problem
Date: Tue, 20 Sep 2011 01:45:31
Message-Id: pan.2011.09.20.01.44.32@cox.net
In Reply to: Re: [gentoo-dev] Re: RFC: Making backwards-incompatible tree changes | a solution for GLEP 55's problem by Rich Freeman
1 Rich Freeman posted on Mon, 19 Sep 2011 20:46:10 -0400 as excerpted:
2
3 > For most changes, honestly, I think the cleanest option is to use binary
4 > packages. If you build a generic set of @system binary packages then
5 > you can emerge -K them and get a bootstrappable system no matter how
6 > out-of-date you are. Then you can do an emerge -uDN world, or maybe
7 > just an emerge -e world.
8
9 That sounds an awful lot like simply starting from a new stage-3, in a
10 chroot initially, either from the existing system or from install media.
11 Except the new stage-3 route bypasses the old portage/toolchain issue
12 below.
13
14 > The only real gotcha is if portage is so old that it can't handle the
15 > binary packages. However, to get around that we really just need a set
16 > of step-wise binary updates for portage itself so that you can sequence
17 > it up to something that can install the rest. That will work as long as
18 > portage doesn't strictly need a newer dependency. If it needs a newer
19 > python or something then we might need to keep a binary package of that
20 > lying around - maybe statically linked so that it doesn't go further
21 > than a few packages.
22
23 Talking about statically linked... but that's a different thread. =:^)
24
25 > Something like that really just needs a few tarballs and then an
26 > up-to-date set of binary stage3 packages. The binary packages could be
27 > built at the same time the stage3s are made. And, this is really just a
28 > contingency plan so we don't need to mirror all that stuff - we could
29 > even just make it torrent-only or something.
30 >
31 > Or we could do what was proposed in the past and say 1 year and you're
32 > done. That slows us down a little, but has zero overhead.
33
34 Really, that's the practical limit anyway. I've done 8-month updates on
35 the 32-bit build-image chroot I use for my netbook, and it can be pretty
36 hairy even at that, and even with doing regular updates on my main system
37 so I've been thru most of it before by the time I deal with the netbook
38 build-image.
39
40 I'd say trying to keep it at a year (but recognizing even that's going to
41 be somewhat buggy and have various issues in practice, a year by policy,
42 tho, and six to seven months should actually be practical) is a
43 reasonable goal. Beyond that, the new stage-3 thing should remain the
44 supported upgrade path. Gentoo isn't magic, and if a year's too short
45 for someone and they can't accept the stage-3 method beyond that, they
46 really should be considering whether Gentoo's the best distro for them in
47 any case.
48
49 That doesn't mean we can't work on ways to shorten the incompatible turn-
50 around time to < 1 year, but it does provide a reasonable worst-case time-
51 focus window, since by policy we don't need to worry about anything
52 beyond a year, anyway. Now we're simply talking about ways to shorten
53 the turn-around time to less than a year while keeping the year's
54 supported upgrades policy.
55
56 --
57 Duncan - List replies preferred. No HTML msgs.
58 "Every nonfree program has a lord, a master --
59 and if you use the program, he is your master." Richard Stallman