Hello, 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#". Cheers, -- Raphaël Hertzog ◈ Debian Developer Support Debian LTS: http://www.freexian.com/services/debian-lts.html Learn to master Debian: http://debian-handbook.info/get/