Gentoo Archives: gentoo-dev

From: "Robert R. Russell" <nahoy_kbiki@××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Deprecating EAPI0
Date: Sun, 22 Mar 2009 08:21:18
Message-Id: 93c3c4edb1240505bfcab8aa231b8c6e@smtp.hushmail.com
In Reply to: Re: [gentoo-dev] RFC: Deprecating EAPI0 by AllenJB
1 On Saturday 21 March 2009 19:03:45 AllenJB wrote:
2 > Patrick Lauer wrote:
3 > > Hi all,
4 > >
5 > > with the discussion about EAPI3 we have now 4 (or 7, depending on how you
6 > > count them ;) ) EAPIs available or almost available. This is getting
7 > > quite confusing.
8 > > To make our lives easier I would suggest deprecating EAPI0 and migrating
9 > > existing ebuilds over some time to EAPI1 or higher until EAPI0 can be
10 > > obsoleted at some point in the future.
11 > > I would set the start of deprecation warnings about 3 months from now and
12 > > the obsoletion quite a time later, maybe 12 months from now, when a
13 > > sufficient amount of ebuilds has been migrated.
14 > >
15 > > Deprecating EAPI1 at the same time would reduce the amount of EAPIs we
16 > > have to think about, but since it has some changes like adding
17 > > src_prepare migration would not be as trivial. So I'd prefer keeping it
18 > > around a bit longer.
19 > >
20 > > Comments?
21 > >
22 > >
23 > > Patrick
24 >
25 > While there definitely arguments for deprecating EAPIs, I would suggest
26 > caution.
27 >
28 > A low number of active EAPIs can make life easier for developers, but it
29 > can also make life harder for some users. There are still users coming
30 > to the forums upgrading systems which only understand EAPI 0. I accept
31 > that Gentoo is certainly a relatively fast moving distro, but I think
32 > that developers also do need to consider users who have systems that are
33 > currently "just working" and may not upgrade often (once a year or even
34 > less)
35 >
36 > As such, I would suggest that forcing a move to the most recent stable
37 > EAPI is possibly unwise.
38 >
39 <snip>
40 > AllenJB
41
42 Note, this just my opinion. It may not be entirely practical or cover all the
43 issues regarding backwards compatibility. I intend it to provoke questions
44 and thought as to what a reasonable policy for backwards compatibility might
45 cover.
46
47 Waiting a year or longer to upgrade a gentoo system carries a good risk of
48 having something explode into a near unrecoverable mess.
49
50 I definitely do think that some major focus needs to be placed on how far
51 behind a gentoo system could be and should still be expected to catch up.
52
53 An oversimplified example. Assume that I can find all required patches and
54 source code to do the initial builds, and that all normal configuration file
55 checks/updates are done after the current tree is installed.
56
57 I create three different virtual machines from cvs snapshots of the portage
58 tree. The first is dated 6 months ago. The second is dated 12 months ago. The
59 third is dated 18 months ago.
60
61 Which of these should be reasonably updateable to the current portage tree?
62
63 My suggestion is that policy should allow machine 1 to be updated through
64 regular update procedures to the current tree, unless major changes dictate
65 otherwise. Major changes being incompatible ebuild formats, toolchains, and
66 other here is the line sorry kind of changes.
67
68 A careful operator should probably be able get machine 2 updated to the
69 current tree, again unless major changes dictate otherwise. We should not
70 make go out of our way to make upgrading from this point out hard for the
71 operator, but, new growth should be favored over the ease of upgrading.
72
73 Machine 3 is just out of luck. Here is the new install cd and handbook, have
74 fun.
75
76 Regular update procedures would be:
77 emerge --sync; emerge -uND world -f; emerge -uND world; revdep-rebuild;
78 emerge --depclean;
79
80 The careful operator might update the toolchain first and emerge -e world or
81 something similar.