Gentoo Archives: gentoo-dev

From: Ben de Groot <yngwin@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] [RFC] git.eclass, git-2.eclass... git-r1.eclass?
Date: Thu, 29 Aug 2013 05:06:43
Message-Id: CAB9SyzRp_ZfUAf0tNo5D_L5mrXrMJDHRfcd8CyCsmXCHcQWzDQ@mail.gmail.com
In Reply to: [gentoo-dev] [RFC] git.eclass, git-2.eclass... git-r1.eclass? by "Michał Górny"
1 On 28 August 2013 16:00, Michał Górny <mgorny@g.o> wrote:
2 > Hello, all.
3 >
4 > I think I'm finally ready to put all the breaking awesomeness that was
5 > waiting for the git eclasses. However, I'm wondering what's the best
6 > way of proceeding with it.
7 >
8 > We've just lately finished the git->git-2 eclass migration. The old
9 > eclass is no longer used and is marked for removal in a few days.
10 [...]
11 > However, I would like to do a few breaking changes to simplify
12 > the eclass and its maintenance:
13 [...]
14 > But it's not all removing. There are also a few things I would like to
15 > change/add:
16 [...]
17 >
18 > How should I proceed? Assuming that git-2.eclass is used by live
19 > ebuilds only, and those ebuilds can be subject to random breakage,
20 > I could supposedly just start changing API of the eclass.
21 >
22 > On the other hand, I could also go for beautiful git-r1.eclass,
23 > and cleanly switch the packages.
24 >
25 > Then, I could go for something involving the two -- create a new
26 > git-r1.eclass that has API fully stripped, and start deprecating
27 > features from git-2.eclass. We would be able to switch to git-r1 to
28 > test offending packages safely, then do a big switch of remaining
29 > packages and make the two eclasses temporarily equivalent.
30 >
31 > What are your thoughts?
32
33 You are planning to do more than trivial changes, so you should make a
34 new eclass (-version). Ebuilds rely on eclass functionality to be
35 stable, so please don't introduce unnecessary breakage.
36
37 This is another indication that we really need a better mechanism for
38 eclass versioning. But that would deserve it's own separate thread.
39
40 As for naming, I recommend you do a +1 to avoid confusion, so
41 git-3.eclass, or git-r3.eclass. Again, here it would be good to agree
42 on a convention for everyone to follow.
43
44 --
45 Cheers,
46
47 Ben | yngwin
48 Gentoo developer