| 1 | <?xml version="1.0" encoding="utf-8" ?> |
1 | <?xml version="1.0" encoding="utf-8" ?> |
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 4 | <!-- |
4 | |
| 5 | This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new |
|
|
| 6 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
|
|
| 7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
|
|
| 8 | --> |
|
|
| 9 | <head> |
5 | <head> |
| 10 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 11 | <meta name="generator" content="Docutils 0.3.3: http://docutils.sourceforge.net/" /> |
7 | <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> |
| 12 | <title>GLEP 19 -- Gentoo Stable Portage Tree</title> |
8 | <title>GLEP 19 -- Gentoo Stable Portage Tree</title> |
| 13 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
9 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
| 14 | </head> |
10 | </head> |
| 15 | <body bgcolor="white"> |
11 | <body bgcolor="white"> |
| 16 | <table class="navigation" cellpadding="0" cellspacing="0" |
12 | <table class="navigation" cellpadding="0" cellspacing="0" |
| … | |
… | |
| 20 | <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" |
16 | <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" |
| 21 | border="0" width="150" height="35" /></a></td> |
17 | border="0" width="150" height="35" /></a></td> |
| 22 | <td class="textlinks" align="left"> |
18 | <td class="textlinks" align="left"> |
| 23 | [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] |
19 | [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] |
| 24 | [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] |
20 | [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] |
| 25 | [<b><a href="./glep-0019.txt">GLEP Source</a></b>] |
21 | [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0019.txt">GLEP Source</a></b>] |
| 26 | </td></tr></table> |
22 | </td></tr></table> |
| 27 | <div class="document"> |
|
|
| 28 | <table class="rfc2822 field-list" frame="void" rules="none"> |
23 | <table class="rfc2822 docutils field-list" frame="void" rules="none"> |
| 29 | <col class="field-name" /> |
24 | <col class="field-name" /> |
| 30 | <col class="field-body" /> |
25 | <col class="field-body" /> |
| 31 | <tbody valign="top"> |
26 | <tbody valign="top"> |
| 32 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">19</td> |
27 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">19</td> |
| 33 | </tr> |
28 | </tr> |
| 34 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Stable Portage Tree</td> |
29 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Stable Portage Tree</td> |
| 35 | </tr> |
30 | </tr> |
| 36 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.6</td> |
31 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.8</td> |
| 37 | </tr> |
32 | </tr> |
| 38 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0019.txt?cvsroot=gentoo">2004/11/02 15:38:58</a></td> |
33 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0019.txt?cvsroot=gentoo">2006/10/10 16:54:34</a></td> |
| 39 | </tr> |
34 | </tr> |
| 40 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Kurt Lieber <klieber at gentoo.org></td> |
35 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Kurt Lieber <klieber at gentoo.org></td> |
| 41 | </tr> |
36 | </tr> |
| 42 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
37 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Withdrawn</td> |
| 43 | </tr> |
38 | </tr> |
| 44 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
39 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
| 45 | </tr> |
40 | </tr> |
| 46 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td> |
41 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> |
| 47 | </tr> |
42 | </tr> |
| 48 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Jan-2004</td> |
43 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Jan-2004</td> |
| 49 | </tr> |
44 | </tr> |
| 50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">29-Jan-2004 2-Nov-2004</td> |
45 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">29-Jan-2004 2-Nov-2004 7-Dec-2004 10-Oct-2006</td> |
| 51 | </tr> |
46 | </tr> |
| 52 | </tbody> |
47 | </tbody> |
| 53 | </table> |
48 | </table> |
| 54 | <hr /> |
49 | <hr /> |
| 55 | <div class="contents topic" id="contents"> |
50 | <div class="contents topic"> |
| 56 | <p class="topic-title first"><a name="contents">Contents</a></p> |
51 | <p class="topic-title first"><a id="contents" name="contents">Contents</a></p> |
| 57 | <ul class="simple"> |
52 | <ul class="simple"> |
| 58 | <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> |
|
|
| 59 | <li><a class="reference" href="#status" id="id3" name="id3">Status</a></li> |
53 | <li><a class="reference" href="#status" id="id3" name="id3">Status</a></li> |
|
|
54 | <li><a class="reference" href="#abstract" id="id4" name="id4">Abstract</a></li> |
|
|
55 | <li><a class="reference" href="#id1" id="id5" name="id5">Status</a></li> |
| 60 | <li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li> |
56 | <li><a class="reference" href="#motivation" id="id6" name="id6">Motivation</a></li> |
| 61 | <li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li> |
57 | <li><a class="reference" href="#specification" id="id7" name="id7">Specification</a></li> |
| 62 | <li><a class="reference" href="#rationale" id="id6" name="id6">Rationale</a></li> |
58 | <li><a class="reference" href="#rationale" id="id8" name="id8">Rationale</a></li> |
| 63 | <li><a class="reference" href="#implementation" id="id7" name="id7">Implementation</a></li> |
59 | <li><a class="reference" href="#implementation" id="id9" name="id9">Implementation</a></li> |
| 64 | <li><a class="reference" href="#backwards-compatibility" id="id8" name="id8">Backwards Compatibility</a></li> |
60 | <li><a class="reference" href="#backwards-compatibility" id="id10" name="id10">Backwards Compatibility</a></li> |
| 65 | <li><a class="reference" href="#copyright" id="id9" name="id9">Copyright</a></li> |
61 | <li><a class="reference" href="#copyright" id="id11" name="id11">Copyright</a></li> |
| 66 | </ul> |
62 | </ul> |
| 67 | </div> |
63 | </div> |
| 68 | <div class="section" id="abstract"> |
64 | <div class="section"> |
|
|
65 | <h1><a class="toc-backref" href="#id3" id="status" name="status">Status</a></h1> |
|
|
66 | <p>Withdrawn by the author. "If someone wants to take up the torch, more |
|
|
67 | power to them, but they should probably start clean with a new glep."</p> |
|
|
68 | </div> |
|
|
69 | <div class="section"> |
| 69 | <h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> |
70 | <h1><a class="toc-backref" href="#id4" id="abstract" name="abstract">Abstract</a></h1> |
| 70 | <p>This GLEP is intended to propose a series of changes to the Portage tree that |
71 | <p>This GLEP is intended to propose a series of changes to the Portage tree that |
| 71 | are necessary to facilitate the use of Gentoo in areas where stability and |
72 | are necessary to facilitate the use of Gentoo in areas where stability and |
| 72 | predictability are of paramount importance, including servers in enterprise |
73 | predictability are of paramount importance, including servers in enterprise |
| 73 | environments, mission critical workstations and other such installations.</p> |
74 | environments, mission critical workstations and other such installations.</p> |
| 74 | <p>The proposed solution involves creating a separate tree in Portage that is |
75 | <p>The proposed solution involves creating a separate tree in Portage that is |
| 75 | updated far less often than the regular tree. Outside of periodic updates, |
76 | updated far less often than the regular tree. Outside of periodic updates, |
| 76 | this tree would only be updated with critical bugfixes and security patches.</p> |
77 | this tree would only be updated with critical bugfixes and security patches.</p> |
| 77 | </div> |
78 | </div> |
| 78 | <div class="section" id="status"> |
79 | <div class="section"> |
| 79 | <h1><a class="toc-backref" href="#id3" name="status">Status</a></h1> |
80 | <h1><a class="toc-backref" href="#id5" id="id1" name="id1">Status</a></h1> |
| 80 | <p>Currently recruiting people who would be willing to help with this GLEP.</p> |
81 | <p>Currently recruiting people who would be willing to help with this GLEP.</p> |
| 81 | </div> |
82 | </div> |
| 82 | <div class="section" id="motivation"> |
83 | <div class="section"> |
| 83 | <h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> |
84 | <h1><a class="toc-backref" href="#id6" id="motivation" name="motivation">Motivation</a></h1> |
| 84 | <p>Enterprise users typically value stability and a predictable upgrade path |
85 | <p>Enterprise users typically value stability and a predictable upgrade path |
| 85 | over having the latest packages or features available to them. Historically, |
86 | over having the latest packages or features available to them. Historically, |
| 86 | Gentoo Linux has been unable to provide such an environment due to the dynamic |
87 | Gentoo Linux has been unable to provide such an environment due to the dynamic |
| 87 | nature of the Portage tree.</p> |
88 | nature of the Portage tree.</p> |
| 88 | </div> |
89 | </div> |
| 89 | <div class="section" id="specification"> |
90 | <div class="section"> |
| 90 | <h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> |
91 | <h1><a class="toc-backref" href="#id7" id="specification" name="specification">Specification</a></h1> |
| 91 | <p>The Gentoo Infrastructure team will need to provide an additional Portage tree |
92 | <p>The Gentoo Infrastructure team will need to provide an additional Portage tree |
| 92 | on our rsync mirroring system. This new tree will house the ebuilds |
93 | on our rsync mirroring system. This new tree will house the ebuilds |
| 93 | associated with the stable tree. It also impacts all Gentoo developers |
94 | associated with the stable tree. It also impacts all Gentoo developers |
| 94 | responsible for creating and updating ebuilds as they will be expected to |
95 | responsible for creating and updating ebuilds as they will be expected to |
| 95 | integrate the tagging of ebuilds for the stable tree into their normal |
96 | integrate the tagging of ebuilds for the stable tree into their normal |
| … | |
… | |
| 97 | off-cycle bug and security fixes.</p> |
98 | off-cycle bug and security fixes.</p> |
| 98 | <p>The Gentoo Documentation team will also be affected as they will be |
99 | <p>The Gentoo Documentation team will also be affected as they will be |
| 99 | responsible for updating installation documents to take these new features |
100 | responsible for updating installation documents to take these new features |
| 100 | into account.</p> |
101 | into account.</p> |
| 101 | </div> |
102 | </div> |
| 102 | <div class="section" id="rationale"> |
103 | <div class="section"> |
| 103 | <h1><a class="toc-backref" href="#id6" name="rationale">Rationale</a></h1> |
104 | <h1><a class="toc-backref" href="#id8" id="rationale" name="rationale">Rationale</a></h1> |
| 104 | <p>A basic outline of various ways of adding a "stable" tree to Portage was |
105 | <p>A basic outline of various ways of adding a "stable" tree to Portage was |
| 105 | discussed in the gentoo managers meeting on 26-Jan-04. Consensus seemed to be |
106 | discussed in the gentoo managers meeting on 26-Jan-04. Consensus seemed to be |
| 106 | reached that such a solution was needed and that branching the gentoo-x86 |
107 | reached that such a solution was needed and that branching the gentoo-x86 |
| 107 | repository was the appropriate way to accomplish this. The largest area of |
108 | repository was the appropriate way to accomplish this. The largest area of |
| 108 | disagreement surrounded how specific ebuilds should be targeted for inclusion |
109 | disagreement surrounded how specific ebuilds should be targeted for inclusion |
| … | |
… | |
| 116 | would provide more control and quality assurance over the ebuilds added to the |
117 | would provide more control and quality assurance over the ebuilds added to the |
| 117 | stable tree. While this might prove effective for a small number of ebuilds, |
118 | stable tree. While this might prove effective for a small number of ebuilds, |
| 118 | it is quite likely that this model would not scale enough to allow for a large |
119 | it is quite likely that this model would not scale enough to allow for a large |
| 119 | number of ebuilds in the stable tree and, over time, the project would become |
120 | number of ebuilds in the stable tree and, over time, the project would become |
| 120 | resource constrained and unable to meed future deadlines.</p> |
121 | resource constrained and unable to meed future deadlines.</p> |
| 121 | <p>The suggestion that seemed to get the most traction was the creation of a new |
122 | <p>While the original draft of this GLEP called for the creation of a stable |
| 122 | "stable" keyword which would be added to appropriate ebuilds. The use of |
123 | keyword, we have since discarded that idea in favor of creating a custom |
| 123 | "stable" would signify ebuilds that are ready for production in the stable |
124 | profile, which will be used to track a subset of packages and versions.</p> |
| 124 | tree while "~stable" would be reserved for ebuilds which may be appropriate |
|
|
| 125 | for the stable tree, but may require further testing before being deemed |
|
|
| 126 | "ready for production". Off-cycle bug fixes and/or security updates may be |
|
|
| 127 | examples of ebuilds that require the ~stable tag.</p> |
|
|
| 128 | </div> |
125 | </div> |
| 129 | <div class="section" id="implementation"> |
126 | <div class="section"> |
| 130 | <h1><a class="toc-backref" href="#id7" name="implementation">Implementation</a></h1> |
127 | <h1><a class="toc-backref" href="#id9" id="implementation" name="implementation">Implementation</a></h1> |
| 131 | <p>While a 'stable' keyword was originally proposed, after further review, it was |
128 | <p>This GLEP will create a new set of cascaded profiles (one per release, not to |
| 132 | determined this offered no way to allow arch-specific stable ebuilds. As |
129 | exceed two per year) which will contain a subset of packages, including |
| 133 | such, this GLEP proposes the use of 'stable:<arch>' and '~stable:<arch>' |
130 | versions. This profile will "pin" a Gentoo Linux box to a specific set of |
| 134 | (stable:x86, stable:ppc, etc.)</p> |
131 | packages and will only be updated for security updates and, in rare |
| 135 | <p>A new, stable tree will be created by scanning for the 'stable:<arch>' and |
132 | circumstances, major bug fixes.</p> |
| 136 | '~stable:<arch>' keywords in the ebuilds and pulling those ebuilds and |
133 | <p>Because this profile will be cascaded, the option exists for other developers |
| 137 | associated files into a separate branch of CVS. The stable tree should have |
134 | to create their own profile, containing a subset of packages not found in the |
| 138 | the following features:</p> |
135 | "main" stable tree and include those as part of the overall stable profile. |
| 139 | <ul class="simple"> |
136 | These cases will be treated on a one-off basis.</p> |
| 140 | <li>Updated quarterly. Frozen during other times except for security/bug fixes</li> |
137 | <p>The initial version will be x86 only, though other people will be encouraged |
| 141 | <li>All ebuilds should remain in the tree for a minimum of one year. This |
138 | to provide separate stable profiles for other arches. It is expected that any |
| 142 | allows users to upgrade as infrequently as once per year without risking |
139 | effort to provide a stable tree for any arch or flavor of Gentoo will follow |
| 143 | the stable portage tree leaving them behind without an upgrade path.</li> |
140 | the basic outline of this GLEP to ensure consistency for our users.</p> |
| 144 | </ul> |
141 | <p>In addition to a custom profile, this GLEP will also create a separate rsync |
| 145 | <p>As mentioned above, the "stable" tree will be updated quarterly, ideally in |
142 | repository, "gentoo-stable-portage", which will be available on all servers in |
| 146 | unison with the release schedule of the main Gentoo branch. This tree will be |
143 | the rsync.gentoo.org rotation. This repository will be <em>identical</em> to the |
| 147 | untouched outside of this update schedule except in the following cases:</p> |
144 | main gentoo-portage repository except that the --delete flag will be removed |
| 148 | <ul class="simple"> |
145 | from the rsync option that populates the tree. This will ensure that users of |
| 149 | <li>Security fixes and patches which result in a GLSA</li> |
146 | the stable profile will not have to worry about ebuilds for their packages |
| 150 | <li>Bug fixes for bugs ranked as 'maj' or above (may be overridden at the |
147 | disappearing.</p> |
| 151 | discretion of the package maintainer.)</li> |
148 | <p>Stable profiles will be maintained on an N - 2 basis. That is to say that we |
| 152 | </ul> |
149 | will maintain a stable profile for the most current release, plus the previous |
| 153 | <p>In both cases, the maintainer of the package will be responsible for ensuring |
150 | two releases. With the expected release schedule for 2005, this will result |
| 154 | these patches are properly committed to the stable tree out of cycle.</p> |
151 | in each profile being supported for approximately 18 months. Future versions |
|
|
152 | of the stable portage tree may seek to increase the life of these profiles.</p> |
| 155 | </div> |
153 | </div> |
| 156 | <div class="section" id="backwards-compatibility"> |
154 | <div class="section"> |
| 157 | <h1><a class="toc-backref" href="#id8" name="backwards-compatibility">Backwards Compatibility</a></h1> |
155 | <h1><a class="toc-backref" href="#id10" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
| 158 | <p>All features proposed here are new additions to existing processes and |
156 | <p>All features proposed here are new additions to existing processes and |
| 159 | features. There should be no impact on existing features and functionality.</p> |
157 | features. There should be no impact on existing features and functionality.</p> |
| 160 | </div> |
158 | </div> |
| 161 | <div class="section" id="copyright"> |
159 | <div class="section"> |
| 162 | <h1><a class="toc-backref" href="#id9" name="copyright">Copyright</a></h1> |
160 | <h1><a class="toc-backref" href="#id11" id="copyright" name="copyright">Copyright</a></h1> |
| 163 | <p>This document is licensed under the Creative Commons - Attribution / Share |
161 | <p>This document is licensed under the Creative Commons - Attribution / Share |
| 164 | Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p> |
162 | Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p> |
| 165 | </div> |
163 | </div> |
|
|
164 | |
| 166 | </div> |
165 | </div> |
|
|
166 | <div class="footer"> |
|
|
167 | <hr class="footer" /> |
|
|
168 | <a class="reference" href="glep-0019.txt">View document source</a>. |
|
|
169 | Generated on: 2007-10-13 13:39 UTC. |
|
|
170 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
| 167 | |
171 | |
| 168 | <hr class="footer" /> |
|
|
| 169 | <div class="footer"> |
|
|
| 170 | <a class="reference" href="glep-0019.txt">View document source</a>. |
|
|
| 171 | Generated on: 2004-11-02 15:31 UTC. |
|
|
| 172 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
|
|
| 173 | </div> |
172 | </div> |
| 174 | </body> |
173 | </body> |
| 175 | </html> |
174 | </html> |
| 176 | |
175 | |