← Back to team overview

compiz team mailing list archive

[Bug 1701756] Re: dpkg reports invalid character in version number on package 'compiz'

 

tracked it down to this lines in the file
dpkg-1.18.4ubuntu1/lib/dpkg/parsehelp.c at the end of function
parseversion() at line #186:

  /* XXX: Would be faster to use something like cisversion and cisrevision. */
  ptr = rversion->version;
  if (*ptr && !c_isdigit(*ptr++))
    return dpkg_put_warn(err, _("version number does not start with digit"));
  for (; *ptr; ptr++) {
    if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
      return dpkg_put_warn(err, _("invalid character in version number"));
  }
  for (ptr = rversion->revision; *ptr; ptr++) {
    if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".+~", *ptr) == NULL)
      return dpkg_put_warn(err, _("invalid character in revision number"));
  }

quick rationale:
no underscores/colon(revision only)/special-chars/others allowed at present for neither version number nor the revision number.

valid design as of now for version item:
* start with a digit.
* continue with digit, alpha or ".-+~:" chars.
* terminate with a zero char.

valid design as of now for revision item:
* start/continue with digit, alpha or ".+~" chars.
* terminate with a zero char.

a sequence of "x86_64" would not work for any these strings => underscore!
a sequence of "3.4.5@home" would not work for any these strings => at-sign!

a sequence of "3:1.45" would not work for the revision string => colon!
a sequence of "3-4-5" would not work for the revision string => any dash! (the warn message would be raised for the first occurrence)

your sequence of "1:0.9.12.2+6.04.20160823-0ubuntu1" does not work =>
special char included! rectangular box here in the view. it might be
some extended OEM char or a UTF-8 char or an unicode char or whatever.
either it sneaked in originally, or it was added later on - even a
backspace, CTRL+C or line break might be the root cause. You should be
able to trace it down on your own.

-- 
You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in Ubuntu.
https://bugs.launchpad.net/bugs/1701756

Title:
  dpkg reports invalid character in version number on package 'compiz'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1701756/+subscriptions


References