… | |
… | |
7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
7 | to 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.4: http://docutils.sourceforge.net/" /> |
11 | <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> |
12 | <title>GLEP 54 -- An "old-school" metastructure proposal with "boot for being a slacker" Part II</title> |
12 | <title>GLEP 54 -- scm package version suffix</title> |
13 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
13 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
14 | </head> |
14 | </head> |
15 | <body bgcolor="white"> |
15 | <body bgcolor="white"> |
16 | <table class="navigation" cellpadding="0" cellspacing="0" |
16 | <table class="navigation" cellpadding="0" cellspacing="0" |
17 | width="100%" border="0"> |
17 | width="100%" border="0"> |
… | |
… | |
28 | <col class="field-name" /> |
28 | <col class="field-name" /> |
29 | <col class="field-body" /> |
29 | <col class="field-body" /> |
30 | <tbody valign="top"> |
30 | <tbody valign="top"> |
31 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">54</td> |
31 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">54</td> |
32 | </tr> |
32 | </tr> |
33 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">An "old-school" metastructure proposal with "boot for being a slacker" Part II</td> |
33 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">scm package version suffix</td> |
34 | </tr> |
34 | </tr> |
35 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> |
35 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">$Revision: 1.5 $</td> |
36 | </tr> |
36 | </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-0054.txt?cvsroot=gentoo">2007/10/12 02:08:27</a></td> |
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-0054.txt?cvsroot=gentoo">$Date: 2007/12/17 18:42:33 $</a></td> |
38 | </tr> |
38 | </tr> |
39 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Alec Warner <antarus at gentoo.org></td> |
39 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Piotr JaroszyĆski <peper at gentoo.org></td> |
40 | </tr> |
40 | </tr> |
41 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Final</td> |
41 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
42 | </tr> |
42 | </tr> |
43 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Informational</td> |
43 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
44 | </tr> |
44 | </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> |
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> |
46 | </tr> |
46 | </tr> |
47 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">11-Oct-2007</td> |
47 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">09-Dec-2007</td> |
48 | </tr> |
48 | </tr> |
49 | <tr class="field"><th class="field-name">Replaces:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/proj/en/glepglep-0039.html">39</a></td> |
|
|
50 | </tr> |
|
|
51 | <tr class="field"><th class="field-name">Requires:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/proj/en/glepglep-0039.html">39</a></td> |
|
|
52 | </tr> |
|
|
53 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">11-Oct-2007</td> |
49 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">09-Dec-2007</td> |
54 | </tr> |
50 | </tr> |
55 | </tbody> |
51 | </tbody> |
56 | </table> |
52 | </table> |
57 | <hr /> |
53 | <hr /> |
58 | <div class="contents topic"> |
54 | <div class="contents topic"> |
59 | <p class="topic-title first"><a id="contents" name="contents">Contents</a></p> |
55 | <p class="topic-title first"><a id="contents" name="contents">Contents</a></p> |
60 | <ul class="simple"> |
56 | <ul class="simple"> |
61 | <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> |
57 | <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> |
62 | <li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li> |
58 | <li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li> |
63 | <li><a class="reference" href="#rationale" id="id4" name="id4">Rationale</a></li> |
59 | <li><a class="reference" href="#specification" id="id4" name="id4">Specification</a></li> |
|
|
60 | <li><a class="reference" href="#version-comparison" id="id5" name="id5">Version Comparison</a></li> |
64 | <li><a class="reference" href="#backwards-compatibility" id="id5" name="id5">Backwards Compatibility</a></li> |
61 | <li><a class="reference" href="#backwards-compatibility" id="id6" name="id6">Backwards Compatibility</a></li> |
65 | <li><a class="reference" href="#specification" id="id6" name="id6">Specification</a></li> |
|
|
66 | <li><a class="reference" href="#copyright" id="id7" name="id7">Copyright</a></li> |
62 | <li><a class="reference" href="#copyright" id="id7" name="id7">Copyright</a></li> |
67 | </ul> |
63 | </ul> |
68 | </div> |
64 | </div> |
69 | <div class="section"> |
65 | <div class="section"> |
70 | <h1><a class="toc-backref" href="#id2" id="abstract" name="abstract">Abstract</a></h1> |
66 | <h1><a class="toc-backref" href="#id2" id="abstract" name="abstract">Abstract</a></h1> |
71 | <p>This GLEP amends GLEP 39[#GLEP39]_. A new project must be announced |
67 | <p>This GLEP proposes addition of a new special package version suffix - <tt class="docutils literal"><span class="pre">scm</span></tt> - |
72 | to the community prior to it's conception. The announcement should state |
68 | for ebuilds checking out source directly from a source code management system.</p> |
73 | the project goals, the plan to achieve those goals, and any other information |
|
|
74 | deemed useful to the community by the person proposing a new project.</p> |
|
|
75 | </div> |
69 | </div> |
76 | <div class="section"> |
70 | <div class="section"> |
77 | <h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1> |
71 | <h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1> |
78 | <p>Projects were being started behind the scenes that people were not aware of; |
72 | <p>Currently there is no standard way of marking SCM ebuilds. Using 9999 as the |
79 | this included developers and users alike. It was thought important to notify |
73 | version is pretty common, but it is handled like any other ebuild and hence |
80 | the community of new projects. This also enables new projects to get valuable |
74 | portage cannot provide any additional features for packages with such a version. |
81 | feedback before getting to far into design and implementation.</p> |
75 | Another way is adding separate package with -cvs suffix in its name, but that |
|
|
76 | forces to use <tt class="docutils literal"><span class="pre">||</span> <span class="pre">(</span> <span class="pre">cat/pkg</span> <span class="pre">cat/pkg-cvs</span> <span class="pre">)</span></tt> dependencies. The closest to what |
|
|
77 | is proposed in this GLEP is the <tt class="docutils literal"><span class="pre">cvs</span></tt> version part, but its implementation is |
|
|
78 | of very limited use. It has strange comparison rules, no documentation, has |
|
|
79 | never been used in the tree and has a misleading name.</p> |
|
|
80 | <p>The possibility for package managers to recognise SCM ebuilds would allow them |
|
|
81 | to add features dedicated specially to said ebuilds. One such feature could be |
|
|
82 | automatic re-installation of SCM packages once a day or week, but that's beyond |
|
|
83 | this GLEP.</p> |
82 | </div> |
84 | </div> |
83 | <div class="section"> |
85 | <div class="section"> |
84 | <h1><a class="toc-backref" href="#id4" id="rationale" name="rationale">Rationale</a></h1> |
86 | <h1><a class="toc-backref" href="#id4" id="specification" name="specification">Specification</a></h1> |
85 | <p>We hope projects receiving feedback fare better in the long run with regards |
87 | <p><tt class="docutils literal"><span class="pre">scm</span></tt> is a special suffix. It can be used on its own, but also in any other |
86 | to general reception as well as meeting the goals set forth in their |
88 | valid version spec, just before the place where revision would go. And just like |
87 | announcement. We hope projects announced early get more volunteers by virtue |
89 | revision it can be used only once in a version spec, e.g.:</p> |
88 | of being announced and in the community's view.</p> |
90 | <blockquote> |
|
|
91 | <ul class="simple"> |
|
|
92 | <li><tt class="docutils literal"><span class="pre">cat/pkg-1.0_alpha0-scm</span></tt></li> |
|
|
93 | <li><tt class="docutils literal"><span class="pre">cat/pkg-1.0_alpha-scm</span></tt></li> |
|
|
94 | <li><tt class="docutils literal"><span class="pre">cat/pkg-1.0-scm-r3</span></tt></li> |
|
|
95 | <li><tt class="docutils literal"><span class="pre">cat/pkg-1-scm</span></tt></li> |
|
|
96 | <li><tt class="docutils literal"><span class="pre">cat/pkg-1-scm-r2</span></tt></li> |
|
|
97 | <li><tt class="docutils literal"><span class="pre">cat/pkg-scm</span></tt></li> |
|
|
98 | </ul> |
|
|
99 | </blockquote> |
|
|
100 | <p>These package atoms are sorted in ascending order (see <a class="reference" href="#version-comparison">Version Comparison</a>).</p> |
89 | </div> |
101 | </div> |
90 | <div class="section"> |
102 | <div class="section"> |
91 | <h1><a class="toc-backref" href="#id5" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
103 | <h1><a class="toc-backref" href="#id5" id="version-comparison" name="version-comparison">Version Comparison</a></h1> |
92 | <p>Projects already announced before 19-Oct-2006 are not affected. Since this |
104 | <p>The addition of the scm suffix yields changes in version comparison:</p> |
93 | GLEP was authored nearly a year later, conceivably projects announced since |
105 | <blockquote> |
94 | then should retroactively send mail regarding their goals and means to achieve |
106 | <ul class="simple"> |
95 | them if they have not done so already; otherwise they would be in breach of |
107 | <li>When comparing version components from left to right the scm component has the |
96 | policy set in 2006.</p> |
108 | highest priority.</li> |
|
|
109 | <li>Current suffixes with no number part no longer default to zero if they are |
|
|
110 | followed by an scm suffix. If that's the case the number part is considered |
|
|
111 | to be of a maximum value. Hence <tt class="docutils literal"><span class="pre">1_alpha2-scm</span> <span class="pre"><</span> <span class="pre">1_alpha-scm</span></tt>, but still |
|
|
112 | <tt class="docutils literal"><span class="pre">1_alpha</span> <span class="pre">==</span> <span class="pre">1_alpha0</span></tt>.</li> |
|
|
113 | </ul> |
|
|
114 | </blockquote> |
|
|
115 | <p>Example parsing:</p> |
|
|
116 | <blockquote> |
|
|
117 | <ul> |
|
|
118 | <li><dl class="first docutils"> |
|
|
119 | <dt><tt class="docutils literal"><span class="pre">cat/pkg-scm</span> <span class="pre">></span> <span class="pre">cat/pkg-1</span></tt></dt> |
|
|
120 | <dd><p class="first last">When parsing from left to right the first difference is <tt class="docutils literal"><span class="pre">scm</span></tt> and |
|
|
121 | <tt class="docutils literal"><span class="pre">1</span></tt>. <tt class="docutils literal"><span class="pre">cat/pkg-scm</span></tt> wins.</p> |
|
|
122 | </dd> |
|
|
123 | </dl> |
|
|
124 | </li> |
|
|
125 | <li><dl class="first docutils"> |
|
|
126 | <dt><tt class="docutils literal"><span class="pre">cat/pkg-1-scm</span> <span class="pre">></span> <span class="pre">cat/pkg-1.0-scm</span></tt></dt> |
|
|
127 | <dd><p class="first last">When parsing from left to right the first difference is <tt class="docutils literal"><span class="pre">scm</span></tt> and |
|
|
128 | <tt class="docutils literal"><span class="pre">0</span></tt>. <tt class="docutils literal"><span class="pre">cat/pkg-1-scm</span></tt> wins.</p> |
|
|
129 | </dd> |
|
|
130 | </dl> |
|
|
131 | </li> |
|
|
132 | <li><dl class="first docutils"> |
|
|
133 | <dt><tt class="docutils literal"><span class="pre">cat/pkg-1_alpha-scm</span> <span class="pre">></span> <span class="pre">cat/pkg-1_alpha1-scm</span></tt></dt> |
|
|
134 | <dd><p class="first last">In the first package version <tt class="docutils literal"><span class="pre">alpha</span></tt> doesn't have a number part <em>and</em> |
|
|
135 | is followed by an <tt class="docutils literal"><span class="pre">scm</span></tt> suffix, hence it is considered to have a maximum |
|
|
136 | value as the number part. When parsing from left to right the first |
|
|
137 | difference is the number part of the <tt class="docutils literal"><span class="pre">alpha</span></tt> suffix. Maximum value |
|
|
138 | yielded by the following <tt class="docutils literal"><span class="pre">scm</span></tt> suffix wins with <tt class="docutils literal"><span class="pre">1</span></tt>.</p> |
|
|
139 | </dd> |
|
|
140 | </dl> |
|
|
141 | </li> |
|
|
142 | </ul> |
|
|
143 | </blockquote> |
|
|
144 | <p>List of version specs in ascending order:</p> |
|
|
145 | <blockquote> |
|
|
146 | <ul class="simple"> |
|
|
147 | <li><tt class="docutils literal"><span class="pre">1</span></tt></li> |
|
|
148 | <li><tt class="docutils literal"><span class="pre">1.1-scm</span></tt></li> |
|
|
149 | <li><tt class="docutils literal"><span class="pre">1.2_alpha-scm</span></tt></li> |
|
|
150 | <li><tt class="docutils literal"><span class="pre">1.2_beta_p</span></tt></li> |
|
|
151 | <li><tt class="docutils literal"><span class="pre">1.2_beta_p0-scm</span></tt></li> |
|
|
152 | <li><tt class="docutils literal"><span class="pre">1.2_beta_p1-scm</span></tt></li> |
|
|
153 | <li><tt class="docutils literal"><span class="pre">1.2_beta_p-scm</span></tt></li> |
|
|
154 | <li><tt class="docutils literal"><span class="pre">1.2_beta1_p-scm</span></tt></li> |
|
|
155 | <li><tt class="docutils literal"><span class="pre">1.2_beta10</span></tt></li> |
|
|
156 | <li><tt class="docutils literal"><span class="pre">1.2_beta10_p1-scm</span></tt></li> |
|
|
157 | <li><tt class="docutils literal"><span class="pre">1.2_beta10-scm</span></tt></li> |
|
|
158 | <li><tt class="docutils literal"><span class="pre">1.2_beta-scm</span></tt></li> |
|
|
159 | <li><tt class="docutils literal"><span class="pre">1.2</span></tt></li> |
|
|
160 | <li><tt class="docutils literal"><span class="pre">1.2-scm</span></tt></li> |
|
|
161 | <li><tt class="docutils literal"><span class="pre">1.2-scm-r1</span></tt></li> |
|
|
162 | <li><tt class="docutils literal"><span class="pre">1-scm</span></tt></li> |
|
|
163 | <li><tt class="docutils literal"><span class="pre">10</span></tt></li> |
|
|
164 | <li><tt class="docutils literal"><span class="pre">scm</span></tt></li> |
|
|
165 | <li><tt class="docutils literal"><span class="pre">scm-r3</span></tt></li> |
|
|
166 | </ul> |
|
|
167 | </blockquote> |
97 | </div> |
168 | </div> |
98 | <div class="section"> |
169 | <div class="section"> |
99 | <h1><a class="toc-backref" href="#id6" id="specification" name="specification">Specification</a></h1> |
170 | <h1><a class="toc-backref" href="#id6" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
100 | <p>New projects should send an Request For Comments mail to gentoo-dev (and |
171 | <p>Portage versions prior to 2.1.2.12 (included in 2007.0) don't handle arbitrary |
101 | optionally gentoo-project) in order to received feedback from the Gentoo |
172 | version suffixes and die during various tasks making portage hard or impossible |
102 | community. Once the feedback has been received and changes incorportated into |
173 | to use. Later versions just ignore them displaying warnings. Hence use of |
103 | the goals and design (if any), the project team should send a mail to |
174 | <tt class="docutils literal"><span class="pre">scm</span></tt> suffixes in gentoo-x86 tree will probably have to wait till 2008.0 |
104 | gentoo-dev-announce (and optionally gentoo-announce) regarding it's launch.</p> |
175 | release or later.</p> |
105 | <p>The contents of the announcements is left intentionally vague as to not |
|
|
106 | restrict the scope of projects, goals, and means. If announcement, projects, |
|
|
107 | goals, or means end up being terrible; the authors of this GLEP fully expect |
|
|
108 | the community to chew you out over it.</p> |
|
|
109 | <p>This GLEP does not empower the community to kill a new project, even if everyone |
|
|
110 | decides it sucks.</p> |
|
|
111 | </div> |
176 | </div> |
112 | <div class="section"> |
177 | <div class="section"> |
113 | <h1><a class="toc-backref" href="#id7" id="copyright" name="copyright">Copyright</a></h1> |
178 | <h1><a class="toc-backref" href="#id7" id="copyright" name="copyright">Copyright</a></h1> |
114 | <p>This document has been placed in the public domain.</p> |
179 | <p>This document has been placed in the public domain.</p> |
|
|
180 | <!-- vim: set tw=80 fileencoding=utf-8 spell spelllang=en et : --> |
115 | </div> |
181 | </div> |
116 | |
182 | |
117 | </div> |
183 | </div> |
118 | <div class="footer"> |
184 | <div class="footer"> |
119 | <hr class="footer" /> |
185 | <hr class="footer" /> |
120 | <a class="reference" href="glep-0054.txt">View document source</a>. |
186 | <a class="reference" href="glep-0054.txt">View document source</a>. |
121 | Generated on: 2007-10-12 10:34 UTC. |
187 | Generated on: 2007-12-17 18:41 UTC. |
122 | 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. |
188 | 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. |
123 | |
189 | |
124 | </div> |
190 | </div> |
125 | </body> |
191 | </body> |
126 | </html> |
192 | </html> |