[Distutils] PEP440 "Local versions" idea in rpm/deb?

Barry Warsaw barry at python.org
Fri May 2 23:33:54 CEST 2014


On May 02, 2014, at 12:01 PM, Marcus Smith wrote:

>PEP440 has the "local version" idea to distinguish locally patched projects
>from upstream versions.
>http://legacy.python.org/dev/peps/pep-0440/#local-version-identifiers
>
>e.g.  Django-1.6.4-1  for a locally patched Django-1.6.4 to place on a
>local index.
>
>Although it doesn't relate directly to this list, I know Nick (the PEP440
>author) works with Redhat, so for understanding, what's the parallel in rpm
>(or deb)?  is there a documented concept for this, because I can't seem to
>find anything other than post releases.

Debian (and thus of course also Ubuntu) packages usually start with the
upstream version number, and add additional qualifiers on the end.  So for
example, upstream Django 1.6.1 might be packaged in Debian as 1.6.1-2
(meaning, the 2nd Debian-specific revision of upstream's 1.6.1).  When a
Debian developer modifies the package, they'll typically bump the number after
the dash.

Ideally Ubuntu would just inherit the Debian version, but when we need to make
additional deltas to the Debian packages, we'll have a more specific
qualifier, such as 1.6.1-2ubuntu3.  That tells you that the package is
upstream 1.6.1, with Ubuntu rev 3 over Debian rev 2.  A package that's only in
Ubuntu might look like 1.6.1-0ubuntu3 (the 0 meaning there's no Debian
equivalent yet of 1.6.1).

There are plenty of variations, including many that don't strictly follow this
scheme, e.g. if a version is packaged from a vcs branch.  But this should give
you a taste of the most common version numbers you'll see on Debian and
Ubuntu.

Cheers,
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140502/d66fad37/attachment.sig>


More information about the Distutils-SIG mailing list