[Distutils] Bug in setuptools version parsing when appending '.dev'?
Phillip J. Eby
pje at telecommunity.com
Sun Aug 3 19:51:11 CEST 2008
At 07:05 PM 7/30/2008 -0500, Dave Peterson wrote:
>Am I missing something or is the following a bug whereby adding the
>'.dev' tag is doing something weird?
>
> >>> from pkg_resources import parse_requirement as pv
> >>> pv('1.0a1.dev') < pv('1.0a1')
>True
> >>> pv('1.0a1') < pv('1.0')
>True
> >>> pv('1.0a1.dev') < pv('1.0.dev')
>False
> >>> pv('1.0a1') < pv('1.0.dev')
>False
> >>> import setuptools
> >>> setuptools.__version__
>'0.6c8'
>
>This is mainly causing us problems when projects try to track alpha
>and beta level bumps in dependencies, such as when project Foo
>requires project Bar version 3.0b1 via a requirement like 'Bar >=
>3.0b1' (which means we don't want the development prereleases of
>Bar's first beta release, but anything after that should be
>okay.) But then when we actually want to release Bar 3.0 and
>change the version number to just '3.0', suddenly installs fail
>while we try to run the last set of tests because '3.0.dev' is older
>than '3.0b1'.
>
>If it is not a bug, how do you handle situations where you want to
>run that last round of testing prior to tagging and building
>releases? I'd rather do that AFTER making all source changes, and
>not have to change the version number after the testing.
This is what 'rc' tags are for, actually. You can put your version
in the source, and use the -b option to egg_info while doing builds
and testing to tack on an 'rc' tag, possibly with a subversion number as well.
More information about the Distutils-SIG
mailing list