DEP14 policy for two dots

Raphael Hertzog hertzog at
Fri Nov 4 09:41:05 UTC 2016


On Thu, 03 Nov 2016, Ian Jackson wrote:
>   % Reusing this is tempting because an epoch separator can never
>       follow `.', so any `%' after any `.' would unambiguously mean
>       `escape for dot rather than colon'.  But in principle `.' can
>       occur at the start of the version, so `:3' and `.3' both =>
>       `%3'.  There would have to be some horror of an exception rule.
>       (Although `:3' and `3' compare equal as Debian versions, they
>       are different textual strings and the tag needs to convey the
>       whole string.)

No, a version can't start with a dot, at least dpkg has been ensuring
this for a few years now.

$ dpkg --compare-versions .1 eq 0
dpkg: warning: version '.1' has bad syntax: version number does not start with digit

Here it's only a warning, but when building a package or trying to install a package,
it's a failure.

So the problem is not with the colon of the epoch, but there can be confusion with
"0:1..1" and "0:1.:1".

We have defined simple "readable" mappings for the common cases that we encounter
frequently. Now if we need mappings for silly things that we don't encounter, I would
suggest to use something easily reversible and extendable.

My suggestion would be to allow "#<hexadecimal unicode code point>#". 

Thus my personal preference would be to replace ".." with ".#2e#".

Raphaël Hertzog ◈ Debian Developer

Support Debian LTS:
Learn to master Debian:

More information about the vcs-pkg-discuss mailing list