public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [RFC] Tightening EAPI rules
@ 2014-02-10 12:43 Patrick Lauer
  2014-02-10 13:03 ` Dirkjan Ochtman
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Patrick Lauer @ 2014-02-10 12:43 UTC (permalink / raw
  To: gentoo-dev

As previously discussed I would like to suggest that the number of
tolerated EAPIs be reduced. There's been some discussion
over the last 2+ years, with a weak consensus towards deprecating
some EAPIs. What, when and how still isn't decided.
So let's add some data so we have a better idea:

EAPI Statistics:

The daily updated stats [2] show a slow general trend down.
There's historical data (well, just a few days right now at [3]

The current sum of all ebuilds in tree adds up to ~10% EAPI 1+2
EAPI0 is still surprisingly big around ~15%
EAPI3 is about as big as EAPI2 at around ~7%

According to [1] EAPI 1 and 2 are deprecated.
At the time EAPI 0 was in limbo as toolchain required it
(What's the current status of toolchain on that?)

I suggest the following change:

[ EAPI 0 depends on toolchain's acceptance.
Should toolchain agree then adding EAPI0 ebuilds becomes forbidden]
Adding EAPI 1 and 2 ebuilds is forbidden. (repoman-fatal)
EAPI 3 becomes deprecated (like 1 and 2 are now)
Adding EAPI 3 ebuilds is forbidden in now +3 months

EAPI 4 becomes deprecated when/if there's a new EAPI allowed in-tree
(EAPI 6, most likely)

EAPI 5 is the recommended default.


Rationale:
More than two supported EAPIs is an unneeded burden on developers.
Thus 4 will be deprecated when post-5 becomes added.

There's no immediate need to forbid the antepenultimate EAPI immediately.

The goal of this upgrade policy is that we can accelerate the expiration
of old EAPIs - EAPI 2 happened
at some point in 2008, I think (or 2009?) and we still carry
five-year-old cruft around.

Given the percentages -

EAPI 1 can be "cleaned out" by a single motivated individual. It's
almost gone.

EAPI 2 and 3 will take a few months at least, even if there's a
coordinated effort to migrate.
EAPI 0 is as big as 2 and 3 together, and depends on toolchain herd's
actions.
It'll still be around for a looong time. (Given the current rate of
change, plus repoman support, plus people actively working on pruning
it, I would assume it'll take at least a year, more likely two)

In other words, even if we go for the "fastest" option you won't see any
revolutionary change :)

Please no bikeshedding,

Patrick


[1] https://www.gentoo.org/proj/en/council/meeting-logs/20130409.txt
[2] http://packages.gentooexperimental.org/eapi-stats.txt
[3] http://packages.gentooexperimental.org/eapi-history/


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2014-02-12  5:08 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-10 12:43 [gentoo-dev] [RFC] Tightening EAPI rules Patrick Lauer
2014-02-10 13:03 ` Dirkjan Ochtman
2014-02-10 13:21   ` Tom Wijsman
2014-02-10 13:24     ` Dirkjan Ochtman
2014-02-10 14:23       ` Tom Wijsman
2014-02-10 14:41         ` Rich Freeman
2014-02-10 14:58           ` Tom Wijsman
2014-02-10 16:16             ` Ciaran McCreesh
2014-02-10 17:08               ` Tom Wijsman
2014-02-10 13:23 ` Anthony G. Basile
2014-02-10 13:46   ` Patrick Lauer
2014-02-10 14:07     ` Rich Freeman
2014-02-10 14:25     ` Ian Stakenvicius
2014-02-10 15:31     ` Ulrich Mueller
2014-02-10 15:42       ` Rich Freeman
2014-02-10 16:05         ` Ulrich Mueller
2014-02-10 16:26           ` Alan McKinnon
2014-02-10 20:56             ` Alec Warner
2014-02-10 21:26               ` Alan McKinnon
2014-02-10 17:20           ` Tom Wijsman
2014-02-10 17:47             ` Rich Freeman
2014-02-10 19:04     ` Lars Wendler
2014-02-10 14:35   ` Tom Wijsman
2014-02-10 15:34     ` Anthony G. Basile
2014-02-10 13:34 ` Rich Freeman
2014-02-10 13:44   ` Patrick Lauer
2014-02-10 14:52   ` Tom Wijsman
2014-02-12  5:07 ` [gentoo-dev] " Ryan Hill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox