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

dak now supports ~ in version numbers

Dear fellow developers,

Thanks to the work of our DPL Anthony "aj" Towns (and all the other
people who have worked on this without my knowledge), I am happy to
announce that dak, our archive management software, finally supports
the use of the tilde ('~') in version numbers.

Given that dpkg has supported ~ in version numbers since before
sarge, APT treats them fine, BTS and PTS play along, linda is aware
of them, lintian will soon be (#381965), devscripts handles them as
it should, and dput works...

... I guess it's time to break the news that Debian now supports the
~-character as part of the version number of its packages!

However, I am sure you are aware that the feature is to be
considered "beta", meaning that things might not always work as they
should, in which case we require your patience and cooperation.
Please contact ftpmaster@d.o in case of problems.

So what does all this mean?

It means no more 0.999+1.0-rc1-1 packages
It means no more 1.2-0.notyetready.1 packages
It means no more 1.2-2bpo1 packages [*]

[*] Backports.org has *not* yet switched to using ~. I will leave it
    up to the responsible people to announce when that's ready.

Instead, you can use

Or, more formally, the sort algorithm used by dpkg/APT/dak/whatever
sorts ~ before the zero-length string. Thus:

  1.0~rc1-1            < 1.0-1
  1.2-1~notyetready.1  < 1.2-1
  1.2-3~bpo1           < 1.2-3

Note how the upstream and Debian revisions are treated separately:

  1.0~rc1-1           < 1.0[zero-length-string]-1

Finally, you can use ~ as many times as you want, so even


is possible. The package could then mature like this:

  < 1.0~beta~svn123-1~unreleased.2
  < 1.0~beta~svn123-1
  < 1.0~beta~svn123-2
  < 1.0~beta~svn124-1~unreleased.1
  < 1.0~beta-1
  < 1.0-1
  < 1.0.svn130-1
  < 1.1-1

You get the picture. You can try out all the cool stuff you can do
with dpkg --compare-versions (see dpkg(1)):

  $ dpkg --compare-versions 1.0~rc1-1 lt 1.0-1 && echo true || echo false
  $ dpkg --compare-versions 1.1~rc1-2 \> 1.1-1 && echo true || echo false

Now enjoy.

Please do not send copies of list mail to me; I read the list!
 .''`.     martin f. krafft <madduck@debian.org>
: :'  :    proud Debian developer and author: http://debiansystem.info
`. `'`
  `-  Debian - when you have better things to do than fixing a system
if you see an onion ring -- answer it!

Attachment: signature.asc
Description: Digital signature (GPG/PGP)

Reply to: