[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg doing wrong math (0.09 = 0.9) ?

* Michael Biebl <biebl@teco.edu> [060811 01:13]:
> If it's not a bug in dpkg, could someone please elaborate on the
> reasoning of this behaviour. I'd be grateful for any comments and replies.

That's because dpkg follows the most common versioning scheme:

The version after "0.9" is called "0.10".

Typically the different parts of a version have some more or less
defined meaning. If nothing substantional changes, increasing
the first number would only confuse.

As there are only natural numbers involved, it is quite easy to
compare and the next number is always well-defined.
With real numbers one only can do things like switching to 0.91
after 0.9, then fastly arrives at 0.99 and then needs 0.991 and
so on, a really mess.

To avoid confusing people not knowing how versions are ordered
it is often suggested to make versions at least three numbers:
"major.minor.patch". Then anybody should see that the . is not
the decimal dot but simply a dot. (Other languages often do
not have that problem, as for example commas are used for
the the decimal point and dots are free. But versions still
have a dot there).

The other point sometimes confusing people in the way dpkg
counts are string parts in versions. Here the problem is
that usage shifted a bit. In the past adding some text of
a version usally meant something like a branch.
Like "3.4rev4" "3.1p2" "2.0.2c" or if Xaver Example made
some patches and distributes the whole thing "0.10xe1".
Now we have release candidates, alpha and bete prereleases,
and they should come earlier and not later, so there is the
need for some things sorted earlier while other still later,
so they need something to distinguish them, where ~ comes in.

One could think about something similar for versions as real
numbers, but a leading 0 would be too confusing (0.2 would be
larger then 0.09 but smaller than 0.19, or one would have to
add the zero everywhere causing versions to look different from

  Bernhard R. Link

Sendmail is like emacs: A nice operating system, but missing
an editor and a MTA.

Reply to: