Gentoo Archives: gentoo-dev

From: Kurt Lieber <klieber@g.o>
To: Dan Armak <danarmak@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: GLEP 19 -- Gentoo Stable Portage Tree
Date: Tue, 03 Feb 2004 13:47:16
Message-Id: 20040203134105.GQ22870@mail.lieber.org
In Reply to: Re: [gentoo-dev] RFC: GLEP 19 -- Gentoo Stable Portage Tree by Dan Armak
1 On Tue, Feb 03, 2004 at 12:04:59PM +0200 or thereabouts, Dan Armak wrote:
2 > A real separate cvs branch seems like a lot of extra work; most updates going
3 > into the stable branch will probably also go into the main tree. What am I
4 > missing?
5
6 A key part of the GLEP is ensuring that ebuilds stay in the tree for a
7 minimum of one year. As has been proven time and time again, we don't have
8 the necessary QA or control over our current tree to offer this feature, so
9 I felt it was betetr implemented by offering a separate tree.
10
11 Also, with one tree, we cannot offer atomic updates to our users. That is
12 to say, with one tree, there would have to be some period of time where the
13 stable tree was 'in flux' as devs went through and marked new ebuilds
14 stable. With a separate tree, devs have an entire quarter where they can
15 mark things stable at their leisure. Then, at a pre-defined date, we pull
16 those ebuilds and can offer one, consistent tree to those folks who want
17 the stable branch.
18
19 > About keyword naming, I agree with Stuart's note elsewhere in the thread that
20 > 'stable' is misleading. I also want to ask how the transition of
21 > arch-->~stable:arch-->stable:arch is different from the existing transition
22 > of ~arch-->arch.
23
24 'stable' is meant to indicate that the tree is a stable one. Not that the
25 ebuilds within them are more stable. However, down the road, I would
26 hope/expect that our nascent QA efforts would expand and offer additional
27 QA around these ebuilds as well. That's outside the scope of this GLEP,
28 however.
29
30 As for your question on transition, for 95% of all stable ebuilds, the path
31 should be:
32
33 ~arch --> arch --> stable:arch
34
35 ~stable is there primarily for off-cycle updates. If we need to issue a
36 GLSA and updated ebuild with very little testing, it would be included in
37 the stable tree marked as ~stable:arch. Then, after 'adequate' testing, it
38 would be moved to stable:arch
39
40 I didn't explicitly state this in the GLEP because I don't want to have
41 this be the only thing it can be used for. Depending on how people start
42 using this tree, we may look to expand to use it for other purposes.
43
44 > One possible distinction is: stable status is given to a package that is
45 > widely enough used and respected in the big bad world and has no known bugs,
46 > as opposed to a package that's in portage for a month and has no bugs but
47 > hasn't actually seen much use or been a target for attempted attacks. The
48 > latter would never move beyond a regular arch keyword.
49 >
50 > Some ebuilds might perhaps never be considered for the stable tree at all
51 > because the target audience demonstrably isn't interested in them (based also
52 > on actual usage data after the tree is up).
53 >
54 > Both these are an RFC more than a suggestion; I want to understand the GLEP's
55 > idea, not propose an alternative of my own.
56
57 I understand the uncertainty, but at the same time, I want to have some
58 uncertainty built into the GLEP. Right now, there is a demonstrable need
59 for enterprise users to have a more stable tree than we currently offer.
60 That is the primary purpose of creating a separate tree.
61
62 However, it is entirely possible that we will extend and expand this tree
63 to be used in other ways. I don't want this GLEP to say "this is the only
64 way this tree may be used" because I'd like to leave some room in it to
65 grow and expand depending on the needs of our users.
66
67 At least initially, I expect a lot of server-specific ebuilds to make it
68 into the stable tree as these are the ones that our users have expressed an
69 interest in so far. As such, if this GLEP is approved, it will be where my
70 initial focus goes -- making sure MTAs, LAMP stuff, etc. make their way
71 into the tree.
72
73 In terms of what constitutes 'stable', that will largely be left up to the
74 herd and/or package maintainer. Remember, 'stable' refers more to the fact
75 that the tree itself does not change, rather than the ebuilds themselves
76 being more stable. (This is another example of something that may change
77 down the road once we improve our QA efforts)
78
79 --kurt

Replies