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

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

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

Revision 1.2 Revision 1.5
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.4: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 49 -- Alternative Package Manager requirements</title> 12 <title>GLEP 49 -- Alternative Package Manager requirements</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.5 $
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">
30<tbody valign="top"> 273<tbody valign="top">
31<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">49</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">49</td>
32</tr> 275</tr>
33<tr class="field"><th class="field-name">Title:</th><td class="field-body">Alternative Package Manager requirements</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Alternative Package Manager requirements</td>
34</tr> 277</tr>
35<tr class="field"><th class="field-name">Version:</th><td class="field-body">2215</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.4</td>
36</tr> 279</tr>
37<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-0049.txt?cvsroot=gentoo">2006-05-20 16:18:10 +0200 (Sat, 20 May 2006)</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-0049.txt?cvsroot=gentoo">2006/09/05 20:54:30</a></td>
38</tr> 281</tr>
39<tr class="field"><th class="field-name">Author:</th><td class="field-body">Paul de Vrieze &lt;pauldv&#32;&#97;t&#32;gentoo.org&gt;,</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Paul de Vrieze &lt;pauldv&#32;&#97;t&#32;gentoo.org&gt;,</td>
40</tr> 283</tr>
41<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">Rejected</td>
42</tr> 285</tr>
43<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>
44</tr> 287</tr>
45<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> 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>
46</tr> 289</tr>
47<tr class="field"><th class="field-name">Created:</th><td class="field-body">18-May-2006</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">18-May-2006</td>
48</tr> 291</tr>
49<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">19-May-2006</td> 292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">19-May-2006, 6-Sep-2006</td>
50</tr> 293</tr>
51</tbody> 294</tbody>
52</table> 295</table>
53<hr /> 296<hr />
54<div class="contents topic"> 297<div class="contents topic">
55<p class="topic-title first"><a id="contents" name="contents">Contents</a></p> 298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
56<ul class="simple"> 299<ul class="simple">
300<li><a class="reference" href="#status" id="id7" name="id7">Status</a></li>
57<li><a class="reference" href="#abstract" id="id7" name="id7">Abstract</a></li> 301<li><a class="reference" href="#abstract" id="id8" name="id8">Abstract</a></li>
58<li><a class="reference" href="#motivation" id="id8" name="id8">Motivation</a></li> 302<li><a class="reference" href="#motivation" id="id9" name="id9">Motivation</a></li>
59<li><a class="reference" href="#rationale" id="id9" name="id9">Rationale</a></li> 303<li><a class="reference" href="#rationale" id="id10" name="id10">Rationale</a></li>
60<li><a class="reference" href="#backwards-compatibility" id="id10" name="id10">Backwards Compatibility</a></li> 304<li><a class="reference" href="#backwards-compatibility" id="id11" name="id11">Backwards Compatibility</a></li>
61<li><a class="reference" href="#categories-of-package-managers" id="id11" name="id11">Categories of package managers</a></li> 305<li><a class="reference" href="#categories-of-package-managers" id="id12" name="id12">Categories of package managers</a></li>
62<li><a class="reference" href="#package-manager-requirements" id="id12" name="id12">Package manager requirements</a><ul> 306<li><a class="reference" href="#package-manager-requirements" id="id13" name="id13">Package manager requirements</a><ul>
63<li><a class="reference" href="#primary-package-manager-requirements" id="id13" name="id13">Primary package manager requirements</a></li> 307<li><a class="reference" href="#primary-package-manager-requirements" id="id14" name="id14">Primary package manager requirements</a></li>
64<li><a class="reference" href="#candidate-primary-package-manager-requirements" id="id14" name="id14">Candidate primary package manager requirements</a></li> 308<li><a class="reference" href="#candidate-primary-package-manager-requirements" id="id15" name="id15">Candidate primary package manager requirements</a></li>
65<li><a class="reference" href="#secondary-package-manager-requirements" id="id15" name="id15">Secondary package manager requirements</a></li> 309<li><a class="reference" href="#secondary-package-manager-requirements" id="id16" name="id16">Secondary package manager requirements</a></li>
66<li><a class="reference" href="#third-party-package-manager-requirements" id="id16" name="id16">Third party package manager requirements</a></li> 310<li><a class="reference" href="#third-party-package-manager-requirements" id="id17" name="id17">Third party package manager requirements</a></li>
67</ul> 311</ul>
68</li> 312</li>
69<li><a class="reference" href="#transition-phases" id="id17" name="id17">Transition phases</a><ul> 313<li><a class="reference" href="#transition-phases" id="id18" name="id18">Transition phases</a><ul>
70<li><a class="reference" href="#primary-package-manager-transition-phase" id="id18" name="id18">Primary package manager transition phase</a></li> 314<li><a class="reference" href="#primary-package-manager-transition-phase" id="id19" name="id19">Primary package manager transition phase</a></li>
71<li><a class="reference" href="#secondary-package-manager-to-candidate-primary-package-manager-transition" id="id19" name="id19">Secondary package manager to candidate primary package manager transition</a></li> 315<li><a class="reference" href="#secondary-package-manager-to-candidate-primary-package-manager-transition" id="id20" name="id20">Secondary package manager to candidate primary package manager transition</a></li>
72<li><a class="reference" href="#third-party-to-other-transition" id="id20" name="id20">Third party to other transition</a></li> 316<li><a class="reference" href="#third-party-to-other-transition" id="id21" name="id21">Third party to other transition</a></li>
73</ul> 317</ul>
74</li> 318</li>
75<li><a class="reference" href="#references" id="id21" name="id21">References</a></li> 319<li><a class="reference" href="#references" id="id22" name="id22">References</a></li>
76<li><a class="reference" href="#copyright" id="id22" name="id22">Copyright</a></li> 320<li><a class="reference" href="#copyright" id="id23" name="id23">Copyright</a></li>
77</ul> 321</ul>
78</div> 322</div>
79<div class="section"> 323<div class="section">
324<h1><a class="toc-backref" href="#id7" id="status" name="status">Status</a></h1>
325<p>The council rejected this GLEP in favor of starting from a package manager
326API and requiring Gentoo package managers in the tree to support that
327API. (That API is still pending, however.)</p>
328</div>
329<div class="section">
80<h1><a class="toc-backref" href="#id7" id="abstract" name="abstract">Abstract</a></h1> 330<h1><a class="toc-backref" href="#id8" id="abstract" name="abstract">Abstract</a></h1>
81<p>This GLEP describes four classes of package managers. What the requirements for 331<p>This GLEP describes four classes of package managers. What the requirements for
82them are, and what support they can receive.</p> 332them are, and what support they can receive.</p>
83</div> 333</div>
84<div class="section"> 334<div class="section">
85<h1><a class="toc-backref" href="#id8" id="motivation" name="motivation">Motivation</a></h1> 335<h1><a class="toc-backref" href="#id9" id="motivation" name="motivation">Motivation</a></h1>
86<p>To set a standard that package managers that seek Gentoo project approval and 336<p>To set a standard that package managers that seek Gentoo project approval and
87support should adhere to.</p> 337support should adhere to.</p>
88</div> 338</div>
89<div class="section"> 339<div class="section">
90<h1><a class="toc-backref" href="#id9" id="rationale" name="rationale">Rationale</a></h1> 340<h1><a class="toc-backref" href="#id10" id="rationale" name="rationale">Rationale</a></h1>
91<p>Currently Portage is showing its age. The code of Portage does not seem to be 341<p>Currently Portage is showing its age. The code of Portage does not seem to be
92salvageable for new versions. As of the date of publication, there are two known 342salvageable for new versions. As of the date of publication, there are two known
93alternative package managers that claim a level of Portage compatibility. These 343alternative package managers that claim a level of Portage compatibility. These
94alternatives are <a class="reference" href="http://paludis.berlios.de/">paludis</a> <a class="footnote-reference" href="#id1" id="id2" name="id2">[1]</a> and <a class="reference" href="http://gentooexperimental.org/~ferringb/bzr/pkgcore/">pkgcore</a> <a class="footnote-reference" href="#id3" id="id4" name="id4">[2]</a>. Before these alternatives are 344alternatives are <a class="reference" href="http://paludis.berlios.de/">paludis</a> <a class="footnote-reference" href="#id1" id="id2" name="id2">[1]</a> and <a class="reference" href="http://gentooexperimental.org/~ferringb/bzr/pkgcore/">pkgcore</a> <a class="footnote-reference" href="#id3" id="id4" name="id4">[2]</a>. Before these alternatives are
95developed further, a set of rules should be created to level the playing field 345developed further, a set of rules should be created to level the playing field
96and ensuring that decisions can be made clearly.</p> 346and ensuring that decisions can be made clearly.</p>
97</div> 347</div>
98<div class="section"> 348<div class="section">
99<h1><a class="toc-backref" href="#id10" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> 349<h1><a class="toc-backref" href="#id11" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
100<p>Not a problem for this GLEP. There is no previous standard as the issue did not 350<p>Not a problem for this GLEP. There is no previous standard as the issue did not
101exist before. This GLEP is to prevent future compatibility issues.</p> 351exist before. This GLEP is to prevent future compatibility issues.</p>
102</div> 352</div>
103<div class="section"> 353<div class="section">
104<h1><a class="toc-backref" href="#id11" id="categories-of-package-managers" name="categories-of-package-managers">Categories of package managers</a></h1> 354<h1><a class="toc-backref" href="#id12" id="categories-of-package-managers" name="categories-of-package-managers">Categories of package managers</a></h1>
105<p>We distinguish four categories of package managers. While a package manager can 355<p>We distinguish four categories of package managers. While a package manager can
106transition from one category to another, it can not be in two categories at the 356transition from one category to another, it can not be in two categories at the
107same time. It can be in a state of transition though.</p> 357same time. It can be in a state of transition though.</p>
108<dl class="docutils"> 358<dl class="docutils">
109<dt><em>Primary Package Manager</em></dt> 359<dt><em>Primary Package Manager</em></dt>
137from Gentoo as being in any other category. A third party package manager may 387from Gentoo as being in any other category. A third party package manager may
138or may not have a Gentoo package, but is not supported beyond that.</dd> 388or may not have a Gentoo package, but is not supported beyond that.</dd>
139</dl> 389</dl>
140</div> 390</div>
141<div class="section"> 391<div class="section">
142<h1><a class="toc-backref" href="#id12" id="package-manager-requirements" name="package-manager-requirements">Package manager requirements</a></h1> 392<h1><a class="toc-backref" href="#id13" id="package-manager-requirements" name="package-manager-requirements">Package manager requirements</a></h1>
143<p>As a package manager is in a state of higher support there are higher 393<p>As a package manager is in a state of higher support there are higher
144requirements to it. The purpose of these requirements is to ensure the unity of 394requirements to it. The purpose of these requirements is to ensure the unity of
145the distribution and the package tree. For this purpose it is needed that there 395the distribution and the package tree. For this purpose it is needed that there
146is only one primary package manager.</p> 396is only one primary package manager. This is from gentoo's perspective. From a
397user perspective it is perfectly possible to use another package
398manager. Candidate primary package managers and secondary package managers are
399also supported in regards to bugs etc.</p>
147<div class="section"> 400<div class="section">
148<h2><a class="toc-backref" href="#id13" id="primary-package-manager-requirements" name="primary-package-manager-requirements">Primary package manager requirements</a></h2> 401<h2><a class="toc-backref" href="#id14" id="primary-package-manager-requirements" name="primary-package-manager-requirements">Primary package manager requirements</a></h2>
149<p>The primary package manager is the package manager that sets the standards for 402<p>The primary package manager is the package manager that sets the standards for
150the tree. All ebuilds in the tree must function with the primary package 403the tree. All ebuilds in the tree must function with the primary package
151manager. As the primary package manager sets the standard it does not have to 404manager. As the primary package manager sets the standard it does not have to
152maintain compatibility with other package managers.</p> 405maintain compatibility with other package managers. This does not mean that the
406actual implementation is the standard, but that the maintainers have the ability
407to define new standards, together with the other involved gentoo projects.</p>
153<p>The primary package manager does however have the responsibility that it must be 408<p>The primary package manager does however have the responsibility that it must be
154very stable. The primary package manager must maintain compatibility with old 409very stable. The primary package manager must maintain compatibility with old
155versions of itself for extended periods of time. This compatibility time is set 410versions of itself for extended periods of time. This compatibility time is set
156by the council. The suggested time would be one year from the point that there 411by the council. The suggested time would be one year from the point that there
157is a compatible stable version for all supported architectures.</p> 412is a compatible stable version for all supported architectures.</p>
160unstable version of the primary package manager to a stable version. This may be 415unstable version of the primary package manager to a stable version. This may be
161done either by first introducing reading compatibility for a new format and only 416done either by first introducing reading compatibility for a new format and only
162having write support later. Another way would be the provision of a conversion 417having write support later. Another way would be the provision of a conversion
163tool that ensures that the on disk information maintained by the package manager 418tool that ensures that the on disk information maintained by the package manager
164is supported by the stable package manager.</p> 419is supported by the stable package manager.</p>
420<p>The primary package manager maintainers further have the responsibility to allow
421competition. This means that reasonable patches from the maintainers of
422secondary or candidate primary package managers must be applied, given that
423these patches are as independent of that package manager as possible.</p>
165<p>The primary package manager is maintained on official Gentoo infrastructure, 424<p>The primary package manager is maintained on official Gentoo infrastructure,
166under control of Gentoo developers.</p> 425under control of Gentoo developers.</p>
167</div> 426</div>
168<div class="section"> 427<div class="section">
169<h2><a class="toc-backref" href="#id14" id="candidate-primary-package-manager-requirements" name="candidate-primary-package-manager-requirements">Candidate primary package manager requirements</a></h2> 428<h2><a class="toc-backref" href="#id15" id="candidate-primary-package-manager-requirements" name="candidate-primary-package-manager-requirements">Candidate primary package manager requirements</a></h2>
170<p>A candidate primary package manager aims to replace the primary package 429<p>A candidate primary package manager aims to replace the primary package
171manager. The council is responsible for deciding whether this is done. The 430manager. The council is responsible for deciding whether this is done. The
172requirements are there to ensure that it is actually possible to transition a 431requirements are there to ensure that it is actually possible to transition a
173candidate primary package manager into the primary package manager.</p> 432candidate primary package manager into the primary package manager.</p>
174<p>First of all, there must exist a transition path. This means that the on disk 433<p>First of all, there must exist a transition path. This means that the on disk
201requirements are determined by the Release Engineering project, but should not 460requirements are determined by the Release Engineering project, but should not
202be significantly beyond what is currently implemented using the primary package 461be significantly beyond what is currently implemented using the primary package
203manager.</p> 462manager.</p>
204</div> 463</div>
205<div class="section"> 464<div class="section">
206<h2><a class="toc-backref" href="#id15" id="secondary-package-manager-requirements" name="secondary-package-manager-requirements">Secondary package manager requirements</a></h2> 465<h2><a class="toc-backref" href="#id16" id="secondary-package-manager-requirements" name="secondary-package-manager-requirements">Secondary package manager requirements</a></h2>
207<p>A secondary package manager is a package manager that instead of directly aiming 466<p>A secondary package manager is a package manager that instead of directly aiming
208at replacing the current primary package manager as primary package manager aims 467at replacing the current primary package manager as primary package manager aims
209to cooperate with the primary package manager. As such a secondary package 468to cooperate with the primary package manager. As such a secondary package
210manager does not set the standard on the tree, but follows the standard set by 469manager does not set the standard on the tree, but follows the standard set by
211the primary package manager.</p> 470the primary package manager.</p>
216remain compatible with the primary package managers. Verification, reference, 475remain compatible with the primary package managers. Verification, reference,
217and deinstallation by the primary package manager must remain functional.</p> 476and deinstallation by the primary package manager must remain functional.</p>
218<p>The second kind is formed by those package managers that maintain their own 477<p>The second kind is formed by those package managers that maintain their own
219package database, or a package database incompatible with the primary package 478package database, or a package database incompatible with the primary package
220manager. To ensure the secondary role of these package managers the support in 479manager. To ensure the secondary role of these package managers the support in
221the tree for these package manager is provided along with restrictions.</p> 480the tree for these package managers is provided along with restrictions.</p>
222<p>The first restriction is that no packages in the tree must rely on the secondary 481<p>The first restriction is that no packages in the tree must rely on the secondary
223package manager. While packages may provide a level of support (while being 482package manager. While packages may provide a level of support (while being
224compatible with the primary package manager) this may not result in a 483compatible with the primary package manager) this may not result in a
225significant increase of features. If this were allowed, this would mean that 484significant increase of features. If this were allowed, this would mean that
226while they technically work with the primary package manager, there would be 485while they technically work with the primary package manager, there would be
248wrapper scripts for those packages that are only provided in the RPM 507wrapper scripts for those packages that are only provided in the RPM
249format. Such a decision does imply that the maintainers of the primary package 508format. Such a decision does imply that the maintainers of the primary package
250manager must take this secondary package manager into account.</p> 509manager must take this secondary package manager into account.</p>
251</div> 510</div>
252<div class="section"> 511<div class="section">
253<h2><a class="toc-backref" href="#id16" id="third-party-package-manager-requirements" name="third-party-package-manager-requirements">Third party package manager requirements</a></h2> 512<h2><a class="toc-backref" href="#id17" id="third-party-package-manager-requirements" name="third-party-package-manager-requirements">Third party package manager requirements</a></h2>
254<p>A third party package manager is just that. It is a package manager without any 513<p>A third party package manager is just that. It is a package manager without any
255support within Gentoo. As there is no control by Gentoo over the package manager 514support within Gentoo. As there is no control by Gentoo over the package manager
256this means that there are no requirements on the package manager.</p> 515this means that there are no requirements on the package manager.</p>
257<p>This complete lack of control however also translates to the fact that Gentoo 516<p>This complete lack of control however also translates to the fact that Gentoo
258can not make package manager specific changes to support this package 517can not make package manager specific changes to support this package
261changes must however be agnostic of the package manager, and only make it easier 520changes must however be agnostic of the package manager, and only make it easier
262to have alternative package managers.</p> 521to have alternative package managers.</p>
263</div> 522</div>
264</div> 523</div>
265<div class="section"> 524<div class="section">
266<h1><a class="toc-backref" href="#id17" id="transition-phases" name="transition-phases">Transition phases</a></h1> 525<h1><a class="toc-backref" href="#id18" id="transition-phases" name="transition-phases">Transition phases</a></h1>
267<div class="section"> 526<div class="section">
268<h2><a class="toc-backref" href="#id18" id="primary-package-manager-transition-phase" name="primary-package-manager-transition-phase">Primary package manager transition phase</a></h2> 527<h2><a class="toc-backref" href="#id19" id="primary-package-manager-transition-phase" name="primary-package-manager-transition-phase">Primary package manager transition phase</a></h2>
269<p>A candidate primary package manager can be chosen to become primary package 528<p>A candidate primary package manager can be chosen to become primary package
270manager. This can only happen by council decision. This decision can only be 529manager. This can only happen by council decision. This decision can only be
271made when the candidate primary package manager is stable on all stable 530made when the candidate primary package manager is stable on all stable
272architectures. (all architectures except experimental ones).</p> 531architectures. (all architectures except experimental ones). There is a
532incubation period of at least 3 months before a candidate primary package
533manager can become the primary package manager.</p>
273<p>After the decision has been made to replace the primary package manager, the 534<p>After the decision has been made to replace the primary package manager, the
274transition phase starts. The use of the old stable package manager must remain 535transition phase starts. The use of the old stable package manager must remain
275supported for a period of 6 months. This means that core packages must be 536supported for a period of 6 months. This means that core packages must be
276installable by this package manager. Further the possibility to convert the 537installable by this package manager. Further the possibility to convert the
277system automatically to the new primary package manager must be available for at 538system automatically to the new primary package manager must be available for at
281features of the new primary package manager. While backward compatibility with 542features of the new primary package manager. While backward compatibility with
282the previous primary package manager must be maintained a forward compatibility 543the previous primary package manager must be maintained a forward compatibility
283is no longer needed.</p> 544is no longer needed.</p>
284</div> 545</div>
285<div class="section"> 546<div class="section">
286<h2><a class="toc-backref" href="#id19" id="secondary-package-manager-to-candidate-primary-package-manager-transition" name="secondary-package-manager-to-candidate-primary-package-manager-transition">Secondary package manager to candidate primary package manager transition</a></h2> 547<h2><a class="toc-backref" href="#id20" id="secondary-package-manager-to-candidate-primary-package-manager-transition" name="secondary-package-manager-to-candidate-primary-package-manager-transition">Secondary package manager to candidate primary package manager transition</a></h2>
287<p>The transition from secondary package manager to candidate primary package 548<p>The transition from secondary package manager to candidate primary package
288manager is straightforward. The secondary package manager must satisfy all 549manager is straightforward. The secondary package manager must satisfy all
289requirements for a candidate primary package manager. At that point its 550requirements for a candidate primary package manager. At that point its
290maintainers can announce that they are changing the status to candidate primary 551maintainers can announce that they are changing the status to candidate primary
291package manager. This allows a greater support from Gentoo in achieving that 552package manager. This allows a greater support from Gentoo in achieving that
292goal.</p> 553goal.</p>
293</div> 554</div>
294<div class="section"> 555<div class="section">
295<h2><a class="toc-backref" href="#id20" id="third-party-to-other-transition" name="third-party-to-other-transition">Third party to other transition</a></h2> 556<h2><a class="toc-backref" href="#id21" id="third-party-to-other-transition" name="third-party-to-other-transition">Third party to other transition</a></h2>
296<p>When a third party package manager wants to transition into one of the other 557<p>When a third party package manager wants to transition into one of the other
297categories (except primary package manager) it must satisfy all requirements for 558categories (except primary package manager) it must satisfy all requirements for
298that category.</p> 559that category.</p>
299</div> 560</div>
300</div> 561</div>
301<div class="section"> 562<div class="section">
302<h1><a class="toc-backref" href="#id21" id="references" name="references">References</a></h1> 563<h1><a class="toc-backref" href="#id22" id="references" name="references">References</a></h1>
303<table class="docutils footnote" frame="void" id="id1" rules="none"> 564<table class="docutils footnote" frame="void" id="id1" rules="none">
304<colgroup><col class="label" /><col /></colgroup> 565<colgroup><col class="label" /><col /></colgroup>
305<tbody valign="top"> 566<tbody valign="top">
306<tr><td class="label"><a class="fn-backref" href="#id2" name="id1">[1]</a></td><td><a class="reference" href="http://paludis.berlios.de/">http://paludis.berlios.de/</a></td></tr> 567<tr><td class="label"><a class="fn-backref" href="#id2" name="id1">[1]</a></td><td><a class="reference" href="http://paludis.berlios.de/">http://paludis.berlios.de/</a></td></tr>
307</tbody> 568</tbody>
318<tr><td class="label"><a class="fn-backref" href="#id6" name="id5">[3]</a></td><td><a class="reference" href="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</a></td></tr> 579<tr><td class="label"><a class="fn-backref" href="#id6" name="id5">[3]</a></td><td><a class="reference" href="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</a></td></tr>
319</tbody> 580</tbody>
320</table> 581</table>
321</div> 582</div>
322<div class="section"> 583<div class="section">
323<h1><a class="toc-backref" href="#id22" id="copyright" name="copyright">Copyright</a></h1> 584<h1><a class="toc-backref" href="#id23" id="copyright" name="copyright">Copyright</a></h1>
324<p>This document is copyright 2006 by Paul de Vrieze and licensed under the 585<p>This document is copyright 2006 by Paul de Vrieze and licensed under the
325<a class="reference" href="http://www.opencontent.org/openpub/">Open Publication License</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[3]</a>.</p> 586<a class="reference" href="http://www.opencontent.org/openpub/">Open Publication License</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[3]</a>.</p>
326</div> 587</div>
327 588
328</div> 589</div>
329<div class="footer"> 590<div class="footer">
330<hr class="footer" /> 591<hr class="footer" />
331<a class="reference" href="glep-0049.txt">View document source</a>. 592<a class="reference" href="glep-0049.txt">View document source</a>.
332Generated on: 2006-05-20 14:20 UTC. 593Generated on: 2006-10-10 20:23 UTC.
333Generated 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. 594Generated 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.
334 595
335</div> 596</div>
336</body> 597</body>
337</html> 598</html>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20