On Sep-21, Gerrit P. Haase wrote:
> Hallo again,
> 
> >>>http://cpan.perl.org/authors/id/S/SF/SFINK/parrot-0.0.11.1.tar.gz
> 
> >> And all we need now is a 0.0.11.2, with patches to allow four-element 
> >> version numbers...
> 
> [...]
> 
> Ouch, better take this:
> $ diff -urd parrot-0.0.11.1/VERSION~ parrot-0.0.11.1/VERSION
> --- parrot-0.0.11.1/VERSION~    2003-09-21 13:17:42.490672000 +0200
> +++ parrot-0.0.11.1/VERSION     2003-09-21 13:16:56.794964800 +0200
> @@ -1 +1 @@
> -0.0.11.1
> +0.0.11

Heh. I just went down the same road, and came to the same conclusion.

For the casual observers: The problem is that those patches to allow
four-element version numbers are decidedly nontrivial. The immediate
failure is lib/Parrot/BuildUtil, which aborts Configure.pl because it
insists on seeing 3-part version numbers. The next failure is
ops2c.pl, which uses Parrot::OpsFile to tell it the decomposed parts
of the version string -- major, minor, patchlevel. And it appears that
those three values are stored in the bytecode, and I'm guessing that
the value 1.2 will not fit very comfortably into an integer field.

So even if we wanted to allow 4-digit version strings, it's too much
of a change to make while packaging up a release, so it's much easier
to just say the version is 0.0.11 and be done with it. Or if you
really want proper versioning, 0.0.12.

If we got out of this silly "version 0.0" hole, then we wouldn't need
to be so hung up about the stupid patch level.

A parrot-0.0.11.2.tar.gz is now staggering drunkenly towards CPAN,
using VERSION=0.0.11. I even tested it this time. If people want
0.0.12 instead, I can do that too.

Argh.

Reply via email to