On 5/14/19 10:03 AM, Shengjing Zhu wrote:
> On Tue, May 14, 2019 at 10:45 AM Arnaud Rebillout
> <arnaud.rebill...@collabora.com> wrote:
>> So, if I understand properly these docs, and assuming that right now I have 
>> docker `18.09.1+dfsg1-7` in debian unstable, I would have to do two things:
>>
>> 1. upload a package with version `18.09.1+dfsg1-7+deb10u1` to 
>> testing-proposed-updates
>>
> I see unstable has 18.09.1+dfsg1-6, and I suppose
> 18.09.1+dfsg1-6+deb10u1 is right, base on my previous experience on
> #927304
>
>> 2. also upload a new package to unstable, with a version bump to ensure the 
>> version in unstable is above the version in testing-proposed-update.
>>
> Probably not needed.
>
> Just my 2 cents, the release team may have their decisions. So just
> ask pre-approval on the original unblock bug.


Just to follow up on that: so the right way to version a package in
testing-proposed-updates is actually to append a suffix with a `~`
rather than a `+`. This way, the version for the package in testing is
both *different* and *lower* compared to the version in unstable, and
there's no need to change the version in unstable.

Practical example with docker.io at the moment:

- testing: 18.09.1+dfsg1-7~deb10u1
- unstable: 18.09.1+dfsg1-7

For those interested in the matter, and still baffled by this magic, may
I quote
https://www.debian.org/doc/debian-policy/ch-controlfields.html#version:

    /The lexical comparison is a comparison of ASCII values modified so
    that all the letters sort earlier than all the non-letters and so
    that a tilde sorts before anything, even the end of a part. For
    example, the following parts are in sorted order from earliest to
    latest: //|~~|//, //|~~a|//, //|~|//, the empty part, //|a.|/

Cheers,

  Arnaud

||/||/

Reply via email to