Re: binary NMUs and version numbers
* Scott James Remnant (firstname.lastname@example.org) [041125 18:30]:
> On Thu, 2004-11-25 at 17:52 +0100, Goswin von Brederlow wrote:
> > The ^ would be suffix epoch and smaller than any other symbol except ~
> > (and implies a debian revision of -0 if missing). The # would be
> > bigger than any other symbol (also implies a debian revision of -0 if
> > missing).
> > The reason for # is that we have many packages with a
> > Depends: foobar (= 1.2-3) or
> > Depends: foobar (>= 1.2-3), foobar (<< 1.2-4)
> > The problem with (= 1.2-3) is that a recompile binary-only NMU won't
> > fullfill this anymore and one might have to also upload other packages
> > unrelated to the bug to get the depends working.
> I'd actually go out on a limb and suggest that if we introduce a "less
> than everything but null" operator such as ^, and policy it for
> Binary-Only NMUs, that:
> 1) Everything after the operator, including the operator itself be
> stripped and placed as the version in the Source header.
> e.g. foo_1.2-1^1 would have Source: foo (1.2-1)
Of course (that was the third issue in my original text, but this could
even be changed with todays handling, if one really wants).
> 2) Everything after the operator, including the operator itself be
> stripped during version comparisons.
> e.g. 1.2-1^1 == 1.2-1
There are good reasons for that.
However, one counter-argument could be that this doesn't allow to
exclude a known bad version, or (considering the current xgot/multigot
issues on mips*), that if the 1.2-1^0 versions of two packages could be
used together, and the 1.2-1^1, but not mixed, than this couldn't be
expressed. I don't think that this counter-argument has much weight, but
perhaps we should consider about this a bit more.
(Hm, it just comes to my mind that we still could do it this way, and
say: 1.2-1 == 1.2-1^n, but 1.2-1^n != 1.2-1^m, n!=m. Even better, we
could add the stripping off now, and adding the exception to stripping
off can be done if we really come to the conclusion that we need it.)
> > And with the introduction of ~ the (<< 1.2-4) matches 1.2-4~pre1,
> > which usualy isn't the intention of the above.
> Less-than dependencies tend to be a bit silly anyway due to #170825 and
> friends. They look good on paper but don't actually tend to work in the
> situations the user intended them.
Strong Ack. And - they are much pain for things like testing
PGP 1024/89FB5CE5 DC F1 85 6D A6 45 9C 0F 3B BE F1 D0 C5 D1 D9 0C