Bug#620566: dpkg: "version number does not start with digit" is in contrast to policy
Full quoting because you didn't cc the policy list when reassigning...
On Sun, Apr 3, 2011 at 05:03:47 +0200, Guillem Jover wrote:
> reassign 620566 debian-policy
> severity 620566 normal
> tags 620566 patch
> retitle 620566 Sync upstream version format with what dpkg accepts now
> On Sat, 2011-04-02 at 21:28:08 +0200, Christian Hofstaedtler wrote:
> > Package: dpkg
> > Version: 1.16.0
> > Severity: important
> > Tags: sid
> > dpkg 1.16.0 appears to refuse to install packages which have a Version:
> > field which does not start with a digit.
> This is in line with the recent changes to properly parse and validate
> the data dpkg has to handle.
> > The Debian policy currently states:
> > The upstream_version may contain only alphanumerics and the
> > characters . + - : ~ (full stop, plus, hyphen, colon, tilde) and *should*
> > start with a digit.
> > I don't see why this would forbid versions starting with an
> > anlphanumeric character.
> Well, while I generally agree dpkg does not need to be as strict as
> policy when it might make sense to be laxer outside Debian, in this
> case I don't see the point in allowing the version to start with an
> alphabetic character. This is an interface other software rely on,
> and expect it to be as specified, so making sure dpkg validates and
> disallows bogus values seems the correct thing to do.
I don't see the point in disallowing these versions in dpkg, they won't
cause any problem anywhere, they're just discouraged by policy... Maybe
we want dak to forbid them, but that's a different thing.
> > Either dpkg should again install packages with such Version: fields, or
> > the policy should be changed to reflect this new requirement.
> Then I guess this is a request to change the ‘should’ to a ‘must’.
> Attached patch against policy master.
> diff --git a/policy.sgml b/policy.sgml
> index 6e04c81..ed10580 100644
> --- a/policy.sgml
> +++ b/policy.sgml
> @@ -3125,7 +3125,7 @@ Package: libc6
> and the characters <tt>.</tt> <tt>+</tt> <tt>-</tt>
> <tt>:</tt> <tt>~</tt> (full stop, plus, hyphen, colon,
> - tilde) and should start with a digit. If there is no
> + tilde) and must start with a digit. If there is no
> <var>debian_revision</var> then hyphens are not allowed;
> if there is no <var>epoch</var> then colons are not