#107 new defect

Older versions of pycryptopp have a newer-looking version number

Reported by: exarkun Owned by:
Priority: blocker Milestone:
Version: Keywords:
Cc: Launchpad Bug:

Description

The current release of pycryptopp on pypi is 0.7.1.869544967005693312591928092448767568728501330214

I assume the release was generated from the revision at the git tag pycryptopp-0.7.1

The git tag pycryptopp-0.7.1 is about 4 revisions behind master@HEAD right now. The self-reported version of pycryptopp at master@HEAD is 0.7.1.4.182880377279460454774209806269619214747373856330.post4

>>> from packaging.version import Version
>>> release = Version("0.7.1.869544967005693312591928092448767568728501330214")
>>> head = Version("0.7.1.4.182880377279460454774209806269619214747373856330.post4")
>>> versions = [release, head]
>>> versions.sort()
<Version('0.7.1.869544967005693312591928092448767568728501330214')>]
>>> versions == [head, release]
True
>>> 

The actually newer code has a version that marks it as being older. Perhaps this only affects postX versions but that's sufficient to break testing environments where it becomes difficult to get an in-development version of pycryptopp instead of the last release.

Change History (2)

comment:1 Changed at 2017-02-24T13:58:06Z by exarkun

Also, a dirty working copy causes a ".dev0" tag to be appended to the version. However, "X.dev0" is considered _older_ than "X". So even a checkout of pycryptopp-0.7.1 with build-related changes checked out ends up being considered an older version than the 0.7.1. release. This is also very inconvenient and ... wrong, I think?

Note: See TracTickets for help on using tickets.