From 96482414e23857e9e5f13b9d39f7ad4263b0fc59 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava <srivasta@debian.org> Date: Thu, 16 Jun 2005 05:11:27 +0000 Subject: [PATCH] Chapter 4 done Author: jdg Date: 2001/04/16 00:39:31 Chapter 4 done git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-97 --- policy.sgml | 113 ++++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/policy.sgml b/policy.sgml index ac69418..b964aac 100644 --- a/policy.sgml +++ b/policy.sgml @@ -1662,11 +1662,11 @@ </sect> </chapt> - <chapt id="versions"><heading>Version numbering </heading> + <chapt id="versions"><heading>Version numbering</heading> <p> - Every package has a version number, in its <tt>Version</tt> - control file field. + Every package has a version number recorded in its + <tt>Version</tt> control file field. </p> <p> @@ -1681,7 +1681,7 @@ <p> The version number format is: - &lsqb<var>epoch</var><tt>:</tt>]<var>upstream-version</var>[<tt>-</tt><var>debian-revision</var>] + &lsqb<var>epoch</var><tt>:</tt>]<var>upstream_version</var>[<tt>-</tt><var>debian_revision</var>] </p> <p> @@ -1693,7 +1693,7 @@ <p> This is a single (generally small) unsigned integer. It may be omitted, in which case zero is assumed. If it is - omitted then the <var>upstream-version</var> may not + omitted then the <var>upstream_version</var> may not contain any colons. </p> @@ -1705,81 +1705,81 @@ </item> - <tag><var>upstream-version</var></tag> + <tag><var>upstream_version</var></tag> <item> <p> - This is the main part of the version. It is usually the - version number of the original (`upstream') package from - which the <tt>.deb</tt> file has been made, if this is - applicable. Usually this will be in the same format as - that specified by the upstream author(s); however, it - may need to be reformatted to fit into the package - management system's format and comparison scheme. + This is the main part of the version number. It is + usually the version number of the original (`upstream') + package from which the <tt>.deb</tt> file has been made, + if this is applicable. Usually this will be in the same + format as that specified by the upstream author(s); + however, it may need to be reformatted to fit into the + package management system's format and comparison + scheme. </p> <p> The comparison behavior of the package management system - with respect to the <var>upstream-version</var> is - described below. The <var>upstream-version</var> + with respect to the <var>upstream_version</var> is + described below. The <var>upstream_version</var> portion of the version number is mandatory. </p> <p> - The <var>upstream-version</var> may contain only - alphanumerics and the characters <tt>.</tt> <tt>+</tt> - <tt>-</tt> <tt>:</tt> (full stop, plus, hyphen, colon) - and should start with a digit. If there is no - <var>debian-revision</var> then hyphens are not allowed; + The <var>upstream_version</var> may contain only + alphanumerics + <footnote> + <p>Alphanumerics are <tt>A-Za-z0-9</tt> only.</p> + </footnote> + and the characters <tt>.</tt> <tt>+</tt> <tt>-</tt> + <tt>:</tt> (full stop, plus, hyphen, colon) and should + start with a digit. If there is no + <var>debian_revision</var> then hyphens are not allowed; if there is no <var>epoch</var> then colons are not allowed.</p> </item> - <tag><var>debian-revision</var></tag> + <tag><var>debian_revision</var></tag> <item> <p> - This part of the version represents the version of the - modifications that were made to the package to make it a - Debian binary package. It is in the same format as the - <var>upstream-version</var> and is compared in the same - way. + This part of the version number specifies the version of + the Debian package based on the upstream version. It + may contain only alphanumerics and the characters + <tt>+</tt> and <tt>.</tt> (plus and full stop) and is + compared in the same way as the + <var>upstream_version</var> is. </p> <p> It is optional; if it isn't present then the - <var>upstream-version</var> may not contain a hyphen. + <var>upstream_version</var> may not contain a hyphen. This format represents the case where a piece of software was written specifically to be turned into a - Debian binary package, and so there is only one - `debianization' of it and therefore no revision - indication is required. + Debian package, and so there is only one `debianization' + of it and therefore no revision indication is required. </p> <p> It is conventional to restart the - <var>debian-revision</var> at <tt>1</tt> each time the - <var>upstream-version</var> is increased. - </p> - - <p> - The package management system will break the - <var>upstream-version</var> and - <var>debian-revision</var> apart at the last hyphen in - the string. The absence of a <var>debian-revision</var> - compares earlier than the presence of one (but note that - the <var>debian-revision</var> is the least significant - part of the version number). + <var>debian_revision</var> at <tt>1</tt> each time the + <var>upstream_version</var> is increased. </p> <p> - The <var>debian-revision</var> may contain only - alphanumerics and the characters <tt>+</tt> and - <tt>.</tt> (plus and full stop). + The package management system will break the version + number apart at the last hyphen in the string (if there + is one) to determine the <var>upstream_version</var> and + <var>debian_revision</var>. The absence of a + <var>debian_revision</var> compares earlier than the + presence of one (but note that the + <var>debian_revision</var> is the least significant part + of the version number). </p> </item> </taglist> - The <var>upstream-version</var> and <var>debian-revision</var> + The <var>upstream_version</var> and <var>debian_revision</var> parts are compared by the package management system using the same algorithm: </p> @@ -1808,21 +1808,22 @@ </p> <p> - These two steps are repeated (chopping initial non-digit - strings and initial digit strings off from the start) until a + These two steps (comparing and removing initial non-digit + strings and initial digit strings) are repeated until a difference is found or both strings are exhausted. </p> <p> Note that the purpose of epochs is to allow us to leave behind mistakes in version numbering, and to cope with situations - where the version numbering changes. It is <em>not</em> there - to cope with version numbers containing strings of letters - which the package management system cannot interpret (such as - <tt>ALPHA</tt> or <tt>pre-</tt>), or with silly orderings (the - author of this manual has heard of a package whose versions - went <tt>1.1</tt>, <tt>1.2</tt>, <tt>1.3</tt>, <tt>1</tt>, - <tt>2.1</tt>, <tt>2.2</tt>, <tt>2</tt> and so forth). + where the version numbering scheme changes. It is + <em>not</em> intended to cope with version numbers containing + strings of letters which the package management system cannot + interpret (such as <tt>ALPHA</tt> or <tt>pre-</tt>), or with + silly orderings (the author of this manual has heard of a + package whose versions went <tt>1.1</tt>, <tt>1.2</tt>, + <tt>1.3</tt>, <tt>1</tt>, <tt>2.1</tt>, <tt>2.2</tt>, + <tt>2</tt> and so forth). </p> <p> @@ -1853,7 +1854,7 @@ too.</p> <p> - Note, that other version formats based on dates which are + Note that other version formats based on dates which are parsed correctly by the package management system should <em>not</em> be changed.</p> -- 2.39.5