Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: EAPI usage
Date: Thu, 30 Aug 2012 23:59:48
Message-Id: pan.2012.08.30.23.58.00@cox.net
In Reply to: Re: [gentoo-dev] EAPI usage by Ciaran McCreesh
1 Ciaran McCreesh posted on Thu, 30 Aug 2012 21:11:02 +0100 as excerpted:
2
3 > On Thu, 30 Aug 2012 16:05:52 -0400 Michael Mol <mikemol@×××××.com>
4 > wrote:
5 >> Compile a list of existing ebuilds which depend on old EAPIs, and
6 >> you've got a TODO list. (eclasses, I don't know; I don't know if
7 >> eclasses explicitly express EAPI compatibility in metadata) Once that
8 >> list is cleared, yes, you can assume there are no ebuilds with a
9 >> specified EAPI of 0. I'd presume it would have been made widely known
10 >> that new ebuilds shouldn't use the old EAPI by that point, and so
11 >> support for the deprecated EAPI level can be abandoned.
12 >
13 > You can't uninstall a package if you don't support its EAPI.
14 >
15 > The "remove code" benefit applies to eclasses, not package manglers.
16
17 I've seen that reason given before, and it makes sense... to a point.
18
19 Would this work, tho?
20
21 In addition to the tree clean of EAPI-X to be dropped...
22
23 Some minimum time/versions (say six months) before a PM drops support for
24 it, on PM upgrades it starts warning about the coming drop of EAPI-X
25 support, giving the user a reasonable deadline (the same six months) to
26 upgrade or uninstall said packages as PM versions after that date will be
27 dropping support.
28
29 Then at a shorter deadline (say two months), start warning at each PM
30 invocation.
31
32 When the upgrade that will drop support appears, if any packages of now
33 unsupported EAPI-X remain installed, it simply dies with a warning that
34 upgrading isn't possible as unsupported packages remain installed,
35 instructing the user to upgrade or unmerge them first, before upgrading
36 the PM.
37
38 By this time, the tree would have been clean of EAPI-X for the longer
39 deadline (six months in this example), and the warning will have appeared
40 on PM upgrade for the same period and on every PM invocation for the
41 shorter period (two months here), so people doing anything close to
42 regular upgrades will have long since upgraded past or unmerged whatever
43 lagging packages they had merged.
44
45 For the people that do NOT upgrade frequently, the die before PM upgrade
46 will force the issue, if/when they DO decide to upgrade.
47
48 Covering the case where the troublesome packages themselves have moved on
49 beyond something the installed PM can handle, it's still possible to
50 unmerge the package temporarily, then merge it again after they upgrade.
51
52 (If thought necessary, the usual I_KNOW_WHAT_IM_DOING override could be
53 inserted, but in this case I think simply having them unmerge the
54 packages in question is the safer alternative. After all, it's only
55 going to hit the folks who are SO far out of date that there's no
56 bridging package version available, for the offending package.)
57
58 Of course there'd need to be special consideration given to critical
59 toolchain and system boot packages, but /that's/ nothing new.
60
61 And as has always been the case, for the /extreme/ laggards, at some
62 point, say two years out or whatever, simply don't support upgrading that
63 far any more, with a clean install from stage-3 being the recommended
64 alternative.
65
66 Of course an individual PM could choose to keep support for as long as
67 they want, but unless I'm missing something, that'd let PMs drop support
68 for old EAPIs if desired, with at least a reasonably sane upgrade path
69 for both PM devs and users.
70
71 --
72 Duncan - List replies preferred. No HTML msgs.
73 "Every nonfree program has a lord, a master --
74 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-dev] Re: EAPI usage Rich Freeman <rich0@g.o>
Re: [gentoo-dev] Re: EAPI usage Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>