From: Manoj Srivastava
- Every package has a version number, in its Version
- control file field.
+ Every package has a version number recorded in its
+ Version control file field.
@@ -1681,7 +1681,7 @@
The version number format is:
- &lsqbepoch:]upstream-version[-debian-revision]
+ &lsqbepoch:]upstream_version[-debian_revision]
@@ -1693,7 +1693,7 @@
This is a single (generally small) unsigned integer. It
may be omitted, in which case zero is assumed. If it is
- omitted then the upstream-version may not
+ omitted then the upstream_version may not
contain any colons.
- This is the main part of the version. It is usually the
- version number of the original (`upstream') package from
- which the .deb 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 .deb 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.
The comparison behavior of the package management system
- with respect to the upstream-version is
- described below. The upstream-version
+ with respect to the upstream_version is
+ described below. The upstream_version
portion of the version number is mandatory.
- The upstream-version may contain only
- alphanumerics and the characters . +
- - : (full stop, plus, hyphen, colon)
- and should start with a digit. If there is no
- debian-revision then hyphens are not allowed;
+ The upstream_version may contain only
+ alphanumerics
+ Alphanumerics are A-Za-z0-9 only.
- 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
- upstream-version 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
+ + and . (plus and full stop) and is
+ compared in the same way as the
+ upstream_version is.
It is optional; if it isn't present then the
- upstream-version may not contain a hyphen.
+ upstream_version 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.
It is conventional to restart the
- debian-revision at 1 each time the
- upstream-version is increased.
-
- The package management system will break the
- upstream-version and
- debian-revision apart at the last hyphen in
- the string. The absence of a debian-revision
- compares earlier than the presence of one (but note that
- the debian-revision is the least significant
- part of the version number).
+ debian_revision at 1 each time the
+ upstream_version is increased.
- The debian-revision may contain only
- alphanumerics and the characters + and
- . (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 upstream_version and
+ debian_revision. The absence of a
+ debian_revision compares earlier than the
+ presence of one (but note that the
+ debian_revision is the least significant part
+ of the version number).
- 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.
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 not there - to cope with version numbers containing strings of letters - which the package management system cannot interpret (such as - ALPHA or pre-), or with silly orderings (the - author of this manual has heard of a package whose versions - went 1.1, 1.2, 1.3, 1, - 2.1, 2.2, 2 and so forth). + where the version numbering scheme changes. It is + not intended to cope with version numbers containing + strings of letters which the package management system cannot + interpret (such as ALPHA or pre-), or with + silly orderings (the author of this manual has heard of a + package whose versions went 1.1, 1.2, + 1.3, 1, 2.1, 2.2, + 2 and so forth).
@@ -1853,7 +1854,7 @@ too.
- 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 not be changed.