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 [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]