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

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

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

Revision 1.6 Revision 1.7
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
5This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
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!
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.4: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 54 -- scm package version suffix</title> 8 <title>GLEP 54 -- scm package version suffix</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
19<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page"> 15<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
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/peps">GLEP Index</a></b>] 20[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0054.txt">GLEP Source</a></b>] 21[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0054.txt">GLEP Source</a></b>]
26</td></tr></table> 22</td></tr></table>
27<table class="rfc2822 docutils field-list" frame="void" rules="none"> 23<table class="rfc2822 docutils field-list" frame="void" rules="none">
28<col class="field-name" /> 24<col class="field-name" />
29<col class="field-body" /> 25<col class="field-body" />
67<p>This GLEP proposes addition of a new special package version suffix - <tt class="docutils literal"><span class="pre">scm</span></tt> - 63<p>This GLEP proposes addition of a new special package version suffix - <tt class="docutils literal"><span class="pre">scm</span></tt> -
68for ebuilds checking out source directly from a source code management system.</p> 64for ebuilds checking out source directly from a source code management system.</p>
69</div> 65</div>
70<div class="section"> 66<div class="section">
71<h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1> 67<h1><a class="toc-backref" href="#id3" id="motivation" name="motivation">Motivation</a></h1>
72<p>Currently there is no standard way of marking SCM ebuilds. Using 9999 as the 68<p>Currently there is no standard way of identifying SCM ebuilds. Using 9999 as the
73version is pretty common, but it is handled like any other ebuild and hence 69version is pretty common, but it is handled like any other ebuild and hence
74portage cannot provide any additional features for packages with such a version. 70portage cannot provide any additional features for packages with such a version.
75Another way is adding separate package with -cvs suffix in its name, but that 71Another way is adding a separate package with a -cvs suffix in its name, but
76forces 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 72that forces the author 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
77is proposed in this GLEP is the <tt class="docutils literal"><span class="pre">cvs</span></tt> version part, but its implementation is 73closest to what is proposed in this GLEP is the <tt class="docutils literal"><span class="pre">cvs</span></tt> version part, but its
78of very limited use. It has strange comparison rules, no documentation, has 74implementation is of very limited use. It has strange comparison rules, no
79never been used in the tree and has a misleading name.</p> 75documentation, has been used sparingly (if ever) and has a misleading name.</p>
80<p>The possibility for package managers to recognise SCM ebuilds would allow them 76<p>The possibility for package managers to recognise SCM ebuilds would allow them
81to add features dedicated specially to said ebuilds. One such feature could be 77to add features dedicated specially to said ebuilds. One such feature could be
82automatic re-installation of SCM packages once a day or week, but that's beyond 78automatic re-installation of SCM packages once a day or week. Any
83this GLEP.</p> 79specifications for such features are beyond the scope of this GLEP.</p>
84</div> 80</div>
85<div class="section"> 81<div class="section">
86<h1><a class="toc-backref" href="#id4" id="specification" name="specification">Specification</a></h1> 82<h1><a class="toc-backref" href="#id4" id="specification" name="specification">Specification</a></h1>
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 83<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
88valid version spec, just before the place where revision would go. And just like 84valid version spec, just before the place where revision would go. And just like
103<h1><a class="toc-backref" href="#id5" id="version-comparison" name="version-comparison">Version Comparison</a></h1> 99<h1><a class="toc-backref" href="#id5" id="version-comparison" name="version-comparison">Version Comparison</a></h1>
104<p>The addition of the scm suffix yields changes in version comparison:</p> 100<p>The addition of the scm suffix yields changes in version comparison:</p>
105<blockquote> 101<blockquote>
106<ul class="simple"> 102<ul class="simple">
107<li>When comparing version components from left to right the scm component has the 103<li>When comparing version components from left to right the scm component has the
108highest priority.</li> 104highest priority over other version components. Hence
105<tt class="docutils literal"><span class="pre">pkg-1_alpha-r3</span> <span class="pre">&lt;</span> <span class="pre">pkg-1-scm</span></tt>, 'scm' is greater than 'alpha-r3'.</li>
109<li>Current suffixes with no number part no longer default to zero if they are 106<li>Current suffixes with no number part no longer default to zero if they are
110followed by an scm suffix. If that's the case the number part is considered 107followed by an scm suffix. If that's the case the number part is considered
111to be of a maximum value. Hence <tt class="docutils literal"><span class="pre">1_alpha2-scm</span> <span class="pre">&lt;</span> <span class="pre">1_alpha-scm</span></tt>, but still 108to be of a maximum value. Hence <tt class="docutils literal"><span class="pre">1_alpha2-scm</span> <span class="pre">&lt;</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> 109<tt class="docutils literal"><span class="pre">1_alpha</span> <span class="pre">==</span> <span class="pre">1_alpha0</span></tt>. The rationale behind this choice is to allow
110multiple branches. For instance imagine a package with an alpha branch
111and multiple scm releases, as the following: <tt class="docutils literal"><span class="pre">alpha-scm</span></tt>,
112<tt class="docutils literal"><span class="pre">alpha2-scm</span></tt>, <tt class="docutils literal"><span class="pre">alpha3-scm</span></tt> and so forth. The desired outcome is
113for <tt class="docutils literal"><span class="pre">alpha-scm</span></tt> to be greater than all other branches of the same tree.</li>
113</ul> 114</ul>
114</blockquote> 115</blockquote>
115<p>Example parsing:</p> 116<p>Example parsing:</p>
116<blockquote> 117<blockquote>
117<ul> 118<ul>
182 183
183</div> 184</div>
184<div class="footer"> 185<div class="footer">
185<hr class="footer" /> 186<hr class="footer" />
186<a class="reference" href="glep-0054.txt">View document source</a>. 187<a class="reference" href="glep-0054.txt">View document source</a>.
187Generated on: 2007-12-17 21:09 UTC. 188Generated on: 2008-01-06 02:08 UTC.
188Generated 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. 189Generated 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.
189 190
190</div> 191</div>
191</body> 192</body>
192</html> 193</html>

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

  ViewVC Help
Powered by ViewVC 1.1.20