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

Colons in upstream version.

While looking in policy and the implementing code I found
a little discrepancy, I wanted to discuss:

Policy 5.6.11 describes the upstream version part as:
| The upstream_version may contain only alphanumerics[28] and
| the characters . + - : (full stop, plus, hyphen, colon)
| and should start with a digit. If there is no debian_revision
| then hyphens are not allowed; if there is no epoch then
| colons are not allowed.

Quickly grepping over the indices of stable and unstable, the 
possibility of having colons in there is not used.
Looking at the code, this is not very suprising, as the upstream
version is included in several generated filenames, e.g. by 
dpkg-deb --build:
# cat test/DEBIAN/control
| Package: test
| Version: 0:1:1.1
| Architecture: i386
| Maintainer: noone <newerwhere>
| Description: test
|  with colons in version number 
# dpkg-deb --build test .
| dpkg-deb: building package `test' in `./test_1:1.1_i386.deb'.

Which is not nice, as those would be escaped for http-requests,
cause files with %3a in the apt-cache, and most propably rejected
by jannifer, as dak seems to use (in utils.py)
| re_taint_free = re.compile(r"^[-+~\.\w]+$");
to check filenames to be welformed and thus would reject such files,
if I parsed the code correctly.

Other programs reject colons in version number, e.g. dh_make checks
the version number against '[0-9][0-9a-zA-Z+\.\-]*'

Thus I suggest 5.6.11 to be changed so that colons are no longer
allowed, and plan to file a wishlist-bug agsinst debian-policy, if
noone contradicts.

	Bernhard R. Link
The man who trades freedom for security does not deserve 
nor will he ever receive either. (Benjamin Franklin)

Attachment: pgpXeIU5yeTIG.pgp
Description: PGP signature

Reply to: