forcemerge 590896 590885 quit Joe Neal wrote:
> I'm aware of the fact that running the Lenny version of Oracle's VB > package under sid is not supported. > > Hell, I'm supprised it even works. > > Upgrading dpkg fails due to having it installed, however. I'm > concerned about the potential for Lenny --> Squeeze upgrade > failures for people with this package installed under Lenny. > > Here is the error: > > Preparing to replace dpkg 1.15.7.2 (using .../archives/dpkg_1.15.8_amd64.deb) > ... > Unpacking replacement dpkg ... > Processing triggers for man-db ... > dpkg: parse error, in file '/var/lib/dpkg/available' near line 60680 package > 'virtualbox-3.0': > error in Version string `3.0.12-54655_Debian_lenny': invalid character in > revision number Thanks for a very clear report! > Actualy, I now seem to be unable to remove the virtualbox package to > remedy the problem as I initialy planned, leaving my system > unupgradable. This is going to be fun. You can edit /var/lib/dpkg/available by hand, but it might be easier to try something like this patch. As for a proper solution: I have no idea. I am not sure dpkg should be enforcing policy like this. It might be better to check sanity by excluding empty strings and some *forbidden* characters and leaving the rest to checkers like lintian. diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c index 5d80213..ed3aba8 100644 --- a/lib/dpkg/parsehelp.c +++ b/lib/dpkg/parsehelp.c @@ -253,7 +253,7 @@ const char *parseversion(struct versionrevision *rversion, const char *string) { return _("invalid character in version number"); } for (ptr = rversion->revision; *ptr; ptr++) { - if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~", *ptr) == NULL) + if (!cisdigit(*ptr) && !cisalpha(*ptr) && strchr(".-+~_", *ptr) == NULL) return _("invalid character in revision number"); } -- -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org