/[gentoo]/xml/htdocs/proj/en/glep/glep-0019.html
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0019.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.6
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links 6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! 7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8--> 8-->
9<head> 9<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.3: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 19 -- Gentoo Stable Portage Tree</title> 12 <title>GLEP 19 -- Gentoo Stable Portage Tree</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 13 <style type="text/css">
14
15/*
16:Author: David Goodger
17:Contact: goodger@users.sourceforge.net
18:date: $Date: 2006/10/10 20:25:14 $
19:version: $Revision: 1.6 $
20:copyright: This stylesheet has been placed in the public domain.
21
22Default cascading style sheet for the PEP HTML output of Docutils.
23*/
24
25.first {
26 margin-top: 0 }
27
28.last {
29 margin-bottom: 0 }
30
31.navigation {
32 width: 100% ;
33 background: #cc99ff ;
34 margin-top: 0px ;
35 margin-bottom: 0px }
36
37.navigation .navicon {
38 width: 150px ;
39 height: 35px }
40
41.navigation .textlinks {
42 padding-left: 1em ;
43 text-align: left }
44
45.navigation td, .navigation th {
46 padding-left: 0em ;
47 padding-right: 0em ;
48 vertical-align: middle }
49
50.rfc2822 {
51 margin-top: 0.5em ;
52 margin-left: 0.5em ;
53 margin-right: 0.5em ;
54 margin-bottom: 0em }
55
56.rfc2822 td {
57 text-align: left }
58
59.rfc2822 th.field-name {
60 text-align: right ;
61 font-family: sans-serif ;
62 padding-right: 0.5em ;
63 font-weight: bold ;
64 margin-bottom: 0em }
65
66a.toc-backref {
67 text-decoration: none ;
68 color: black }
69
70body {
71 margin: 0px ;
72 margin-bottom: 1em ;
73 padding: 0px }
74
75dd {
76 margin-bottom: 0.5em }
77
78div.section {
79 margin-left: 1em ;
80 margin-right: 1em ;
81 margin-bottom: 1.5em }
82
83div.section div.section {
84 margin-left: 0em ;
85 margin-right: 0em ;
86 margin-top: 1.5em }
87
88div.abstract {
89 margin: 2em 5em }
90
91div.abstract p.topic-title {
92 font-weight: bold ;
93 text-align: center }
94
95div.attention, div.caution, div.danger, div.error, div.hint,
96div.important, div.note, div.tip, div.warning {
97 margin: 2em ;
98 border: medium outset ;
99 padding: 1em }
100
101div.attention p.admonition-title, div.caution p.admonition-title,
102div.danger p.admonition-title, div.error p.admonition-title,
103div.warning p.admonition-title {
104 color: red ;
105 font-weight: bold ;
106 font-family: sans-serif }
107
108div.hint p.admonition-title, div.important p.admonition-title,
109div.note p.admonition-title, div.tip p.admonition-title {
110 font-weight: bold ;
111 font-family: sans-serif }
112
113div.figure {
114 margin-left: 2em }
115
116div.footer, div.header {
117 font-size: smaller }
118
119div.footer {
120 margin-left: 1em ;
121 margin-right: 1em }
122
123div.system-messages {
124 margin: 5em }
125
126div.system-messages h1 {
127 color: red }
128
129div.system-message {
130 border: medium outset ;
131 padding: 1em }
132
133div.system-message p.system-message-title {
134 color: red ;
135 font-weight: bold }
136
137div.topic {
138 margin: 2em }
139
140h1 {
141 font-family: sans-serif ;
142 font-size: large }
143
144h2 {
145 font-family: sans-serif ;
146 font-size: medium }
147
148h3 {
149 font-family: sans-serif ;
150 font-size: small }
151
152h4 {
153 font-family: sans-serif ;
154 font-style: italic ;
155 font-size: small }
156
157h5 {
158 font-family: sans-serif;
159 font-size: x-small }
160
161h6 {
162 font-family: sans-serif;
163 font-style: italic ;
164 font-size: x-small }
165
166.section hr {
167 width: 75% }
168
169ol.simple, ul.simple {
170 margin-bottom: 1em }
171
172ol.arabic {
173 list-style: decimal }
174
175ol.loweralpha {
176 list-style: lower-alpha }
177
178ol.upperalpha {
179 list-style: upper-alpha }
180
181ol.lowerroman {
182 list-style: lower-roman }
183
184ol.upperroman {
185 list-style: upper-roman }
186
187p.caption {
188 font-style: italic }
189
190p.credits {
191 font-style: italic ;
192 font-size: smaller }
193
194p.label {
195 white-space: nowrap }
196
197p.topic-title {
198 font-family: sans-serif ;
199 font-weight: bold }
200
201pre.line-block {
202 font-family: serif ;
203 font-size: 100% }
204
205pre.literal-block, pre.doctest-block {
206 margin-left: 2em ;
207 margin-right: 2em ;
208 background-color: #eeeeee }
209
210span.classifier {
211 font-family: sans-serif ;
212 font-style: oblique }
213
214span.classifier-delimiter {
215 font-family: sans-serif ;
216 font-weight: bold }
217
218span.interpreted {
219 font-family: sans-serif }
220
221span.option-argument {
222 font-style: italic }
223
224span.pre {
225 white-space: pre }
226
227span.problematic {
228 color: red }
229
230table {
231 margin-top: 0.5em ;
232 margin-bottom: 0.5em }
233
234td, th {
235 padding-left: 0.5em ;
236 padding-right: 0.5em ;
237 vertical-align: top }
238
239td.num {
240 text-align: right }
241
242th.field-name {
243 font-weight: bold ;
244 text-align: left ;
245 white-space: nowrap }
246
247h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
248 font-size: 100% }
249
250tt {
251 background-color: #eeeeee }
252
253ul.auto-toc {
254 list-style-type: none }
255
256</style>
14</head> 257</head>
15<body bgcolor="white"> 258<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 259<table class="navigation" cellpadding="0" cellspacing="0"
17 width="100%" border="0"> 260 width="100%" border="0">
18<tr><td class="navicon" width="150" height="35"> 261<tr><td class="navicon" width="150" height="35">
19<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page"> 262<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 263<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td> 264 border="0" width="150" height="35" /></a></td>
22<td class="textlinks" align="left"> 265<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 266[<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>] 267[<b><a href="http://www.gentoo.org/peps">GLEP Index</a></b>]
25[<b><a href="./glep-0019.txt">GLEP Source</a></b>] 268[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0019.txt">GLEP Source</a></b>]
26</td></tr></table> 269</td></tr></table>
27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 270<table class="rfc2822 docutils field-list" frame="void" rules="none">
29<col class="field-name" /> 271<col class="field-name" />
30<col class="field-body" /> 272<col class="field-body" />
31<tbody valign="top"> 273<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">19</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">19</td>
33</tr> 275</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Stable Portage Tree</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Stable Portage Tree</td>
35</tr> 277</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.6</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.8</td>
37</tr> 279</tr>
38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/glep/glep-0019.txt">2004/11/02 15:38:58</a></td> 280<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> 281</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Kurt Lieber &lt;klieber&#32;&#97;t&#32;gentoo.org&gt;</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Kurt Lieber &lt;klieber&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 283</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Withdrawn</td>
43</tr> 285</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 286<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 287</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> 288<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> 289</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Jan-2004</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">26-Jan-2004</td>
49</tr> 291</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">29-Jan-2004 2-Nov-2004</td> 292<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> 293</tr>
52</tbody> 294</tbody>
53</table> 295</table>
54<hr /> 296<hr />
55<div class="contents topic" id="contents"> 297<div class="contents topic">
56<p class="topic-title first"><a name="contents">Contents</a></p> 298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
57<ul class="simple"> 299<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> 300<li><a class="reference" href="#status" id="id3" name="id3">Status</a></li>
301<li><a class="reference" href="#abstract" id="id4" name="id4">Abstract</a></li>
302<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> 303<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> 304<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> 305<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> 306<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> 307<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> 308<li><a class="reference" href="#copyright" id="id11" name="id11">Copyright</a></li>
66</ul> 309</ul>
67</div> 310</div>
68<div class="section" id="abstract"> 311<div class="section">
312<h1><a class="toc-backref" href="#id3" id="status" name="status">Status</a></h1>
313<p>Withdrawn by the author. &quot;If someone wants to take up the torch, more
314power to them, but they should probably start clean with a new glep.&quot;</p>
315</div>
316<div class="section">
69<h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> 317<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 318<p>This GLEP is intended to propose a series of changes to the Portage tree that
71are necessary to facilitate the use of Gentoo in areas where stability and 319are necessary to facilitate the use of Gentoo in areas where stability and
72predictability are of paramount importance, including servers in enterprise 320predictability are of paramount importance, including servers in enterprise
73environments, mission critical workstations and other such installations.</p> 321environments, mission critical workstations and other such installations.</p>
74<p>The proposed solution involves creating a separate tree in Portage that is 322<p>The proposed solution involves creating a separate tree in Portage that is
75updated far less often than the regular tree. Outside of periodic updates, 323updated far less often than the regular tree. Outside of periodic updates,
76this tree would only be updated with critical bugfixes and security patches.</p> 324this tree would only be updated with critical bugfixes and security patches.</p>
77</div> 325</div>
78<div class="section" id="status"> 326<div class="section">
79<h1><a class="toc-backref" href="#id3" name="status">Status</a></h1> 327<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> 328<p>Currently recruiting people who would be willing to help with this GLEP.</p>
81</div> 329</div>
82<div class="section" id="motivation"> 330<div class="section">
83<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> 331<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 332<p>Enterprise users typically value stability and a predictable upgrade path
85over having the latest packages or features available to them. Historically, 333over having the latest packages or features available to them. Historically,
86Gentoo Linux has been unable to provide such an environment due to the dynamic 334Gentoo Linux has been unable to provide such an environment due to the dynamic
87nature of the Portage tree.</p> 335nature of the Portage tree.</p>
88</div> 336</div>
89<div class="section" id="specification"> 337<div class="section">
90<h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> 338<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 339<p>The Gentoo Infrastructure team will need to provide an additional Portage tree
92on our rsync mirroring system. This new tree will house the ebuilds 340on our rsync mirroring system. This new tree will house the ebuilds
93associated with the stable tree. It also impacts all Gentoo developers 341associated with the stable tree. It also impacts all Gentoo developers
94responsible for creating and updating ebuilds as they will be expected to 342responsible for creating and updating ebuilds as they will be expected to
95integrate the tagging of ebuilds for the stable tree into their normal 343integrate the tagging of ebuilds for the stable tree into their normal
97off-cycle bug and security fixes.</p> 345off-cycle bug and security fixes.</p>
98<p>The Gentoo Documentation team will also be affected as they will be 346<p>The Gentoo Documentation team will also be affected as they will be
99responsible for updating installation documents to take these new features 347responsible for updating installation documents to take these new features
100into account.</p> 348into account.</p>
101</div> 349</div>
102<div class="section" id="rationale"> 350<div class="section">
103<h1><a class="toc-backref" href="#id6" name="rationale">Rationale</a></h1> 351<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 &quot;stable&quot; tree to Portage was 352<p>A basic outline of various ways of adding a &quot;stable&quot; tree to Portage was
105discussed in the gentoo managers meeting on 26-Jan-04. Consensus seemed to be 353discussed in the gentoo managers meeting on 26-Jan-04. Consensus seemed to be
106reached that such a solution was needed and that branching the gentoo-x86 354reached that such a solution was needed and that branching the gentoo-x86
107repository was the appropriate way to accomplish this. The largest area of 355repository was the appropriate way to accomplish this. The largest area of
108disagreement surrounded how specific ebuilds should be targeted for inclusion 356disagreement surrounded how specific ebuilds should be targeted for inclusion
116would provide more control and quality assurance over the ebuilds added to the 364would provide more control and quality assurance over the ebuilds added to the
117stable tree. While this might prove effective for a small number of ebuilds, 365stable tree. While this might prove effective for a small number of ebuilds,
118it is quite likely that this model would not scale enough to allow for a large 366it is quite likely that this model would not scale enough to allow for a large
119number of ebuilds in the stable tree and, over time, the project would become 367number of ebuilds in the stable tree and, over time, the project would become
120resource constrained and unable to meed future deadlines.</p> 368resource 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 369<p>While the original draft of this GLEP called for the creation of a stable
122&quot;stable&quot; keyword which would be added to appropriate ebuilds. The use of 370keyword, we have since discarded that idea in favor of creating a custom
123&quot;stable&quot; would signify ebuilds that are ready for production in the stable 371profile, which will be used to track a subset of packages and versions.</p>
124tree while &quot;~stable&quot; would be reserved for ebuilds which may be appropriate
125for the stable tree, but may require further testing before being deemed
126&quot;ready for production&quot;. Off-cycle bug fixes and/or security updates may be
127examples of ebuilds that require the ~stable tag.</p>
128</div> 372</div>
129<div class="section" id="implementation"> 373<div class="section">
130<h1><a class="toc-backref" href="#id7" name="implementation">Implementation</a></h1> 374<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 375<p>This GLEP will create a new set of cascaded profiles (one per release, not to
132determined this offered no way to allow arch-specific stable ebuilds. As 376exceed two per year) which will contain a subset of packages, including
133such, this GLEP proposes the use of 'stable:&lt;arch&gt;' and '~stable:&lt;arch&gt;' 377versions. This profile will &quot;pin&quot; a Gentoo Linux box to a specific set of
134(stable:x86, stable:ppc, etc.)</p> 378packages 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:&lt;arch&gt;' and 379circumstances, major bug fixes.</p>
136'~stable:&lt;arch&gt;' keywords in the ebuilds and pulling those ebuilds and 380<p>Because this profile will be cascaded, the option exists for other developers
137associated files into a separate branch of CVS. The stable tree should have 381to create their own profile, containing a subset of packages not found in the
138the following features:</p> 382&quot;main&quot; stable tree and include those as part of the overall stable profile.
139<ul class="simple"> 383These cases will be treated on a one-off basis.</p>
140<li>Updated quarterly. Frozen during other times except for security/bug fixes</li> 384<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 385to provide separate stable profiles for other arches. It is expected that any
142allows users to upgrade as infrequently as once per year without risking 386effort to provide a stable tree for any arch or flavor of Gentoo will follow
143the stable portage tree leaving them behind without an upgrade path.</li> 387the basic outline of this GLEP to ensure consistency for our users.</p>
144</ul> 388<p>In addition to a custom profile, this GLEP will also create a separate rsync
145<p>As mentioned above, the &quot;stable&quot; tree will be updated quarterly, ideally in 389repository, &quot;gentoo-stable-portage&quot;, which will be available on all servers in
146unison with the release schedule of the main Gentoo branch. This tree will be 390the rsync.gentoo.org rotation. This repository will be <em>identical</em> to the
147untouched outside of this update schedule except in the following cases:</p> 391main gentoo-portage repository except that the --delete flag will be removed
148<ul class="simple"> 392from 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> 393the 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 394disappearing.</p>
151discretion of the package maintainer.)</li> 395<p>Stable profiles will be maintained on an N - 2 basis. That is to say that we
152</ul> 396will 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 397two releases. With the expected release schedule for 2005, this will result
154these patches are properly committed to the stable tree out of cycle.</p> 398in each profile being supported for approximately 18 months. Future versions
399of the stable portage tree may seek to increase the life of these profiles.</p>
155</div> 400</div>
156<div class="section" id="backwards-compatibility"> 401<div class="section">
157<h1><a class="toc-backref" href="#id8" name="backwards-compatibility">Backwards Compatibility</a></h1> 402<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 403<p>All features proposed here are new additions to existing processes and
159features. There should be no impact on existing features and functionality.</p> 404features. There should be no impact on existing features and functionality.</p>
160</div> 405</div>
161<div class="section" id="copyright"> 406<div class="section">
162<h1><a class="toc-backref" href="#id9" name="copyright">Copyright</a></h1> 407<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 408<p>This document is licensed under the Creative Commons - Attribution / Share
164Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p> 409Alike 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> 410</div>
166</div>
167 411
412</div>
413<div class="footer">
168<hr class="footer" /> 414<hr class="footer" />
169<div class="footer">
170<a class="reference" href="glep-0019.txt">View document source</a>. 415<a class="reference" href="glep-0019.txt">View document source</a>.
171Generated on: 2004-11-02 15:31 UTC. 416Generated on: 2006-10-10 20:23 UTC.
172Generated 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. 417Generated 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.
418
173</div> 419</div>
174</body> 420</body>
175</html> 421</html>
176 422

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20