[Distutils] Comparison semantics for alphanumeric components of a version number

Ben Finney ben+python at benfinney.id.au
Fri Jun 5 16:20:47 CEST 2009


Tarek Ziadé <ziade.tarek at gmail.com> writes:

> On Fri, Jun 5, 2009 at 3:55 PM, Ben Finney<ben+python at benfinney.id.au> wrote:
> > Tarek Ziadé <ziade.tarek at gmail.com> writes:
> >
> >> There's a consensus on this in most packaging system out there, and
> >> the goal is to have a rational version system that is understandable
> >> by most packagers so they can work with python projects versions.
> >
> > Have you actually read the version comparison specifications of other
> > packaging systems? How do you think they compare to the current draft
> > specification here?
> 
> This is very upsetting !   This specification is not something I just
> pulled out of my hat.

I didn't intend to imply anything like that.

> We worked during two evenings during Pycon with people from Fedora and
> Ubuntu on that (Toshio and Matthias Klose). Those people are packaging
> Python projects for their systems and have problems because of the
> lack of proper versioning sometimes.

This is the burden of conferences, and the danger of thinking that a
room full of ten people can somehow determine the consensus of the whole
community. Ideas that seem great when everyone is face to face still
need to be justified at length to the larger community.

> But with your "N.N[.X]+" proposal, you are missing some things this
> PEP tries to adress, such as dealing with alpha, beta and candidate,
> or development versions.

Then please, point to (or marshal people to write convincingly) the
justification for why these complicating factors are needed, and why
what they buy is worth the price.

The specification and discussion here acknowledges that accommodating
the weight of traditional version numbering schemes isn't a primary
goal: specifying something useful, obvious, and simple to explain and
remember is more important. I'm attempting to cast these special
complicating exceptions in that harsh light and see why they should
survive.

> The RationalVersion class takes your string and split it in several
> components, does a bit of processing, and then compare the components
> alphanumerically.
> 
> But there are extra rules for some of those components, (like
> alpha/beta/candidate restriction)

And it is exactly that extra baggage that is in question here.

-- 
 \        “Most people don't realize that large pieces of coral, which |
  `\       have been painted brown and attached to the skull by common |
_o__)    wood screws, can make a child look like a deer.” —Jack Handey |
Ben Finney



More information about the Distutils-SIG mailing list