Lino Website

et cetera

Planning the Lino versioning system

Tuesday, 25. January 2005 10:57.

I am working on the release system because soon there will be a first release of Raceman. I decided to switch from McMillan Installer Installer to py2exe for the binary releases.

The following warning stopped me:

warning: py2exe: Version Info will not be included:
  could not parse version number 'pre0.6.3'

«most developers spend several years groping in the dark trying to figure out how to assign version numbers to their software» (Greg Ward in distutils-sig on 1998-10-12).

distutils.version has two classes to represent module version numbers: LooseVersion is «for anarchists and software realists.» while StrictVersion is «for anal retentives and software idealists». The docstring also states that «the rationale for this version numbering system will be explained in the distutils documentation.» «Encoding the version information is an art in itself. Python packages generally adhere to the version format major.minor.[patch][sub]. (...) The patch number increments when bug-fix releases are made.»

I decided to remove the "pre" from version number and to start numbering like software idealist by incrementing the patch number for each (complete) mkdist run. In fact I just refrained from this because I feared to have a version 0.6.9999 one day... but why not. In fact they are right. Thank you, Python.

Copyright 2001-2007 Luc Saffre.
Generated 2007-06-07 16:22:20