Relax dpkg version regex

For non-release builds the version will include the number of commits since last release and the commit hash with dashes, e.g. 1.20.8-46-g0881.
For downstream distros it seems it may include their identification strings, e.g. 1.20.9ubuntu2.

Make the regex match everything after the version number to avoid incorrectly erroring on such versions.

Fixes #18
This commit is contained in:
Raul Tambre 2021-11-06 23:01:22 +02:00
parent 8fe4fe3eda
commit 6275b26fa2

View file

@ -4498,7 +4498,7 @@ sub main() {
# the --robot option was introduced in 1.20.0 but until 1.20.2 the
# output contained a string after the version, separated by a
# whitespace -- since then, it's only the version
if ($? == 0 and $content =~ /^([0-9.]+)( .*)?$/) {
if ($? == 0 and $content =~ /^([0-9.]+).*?$/) {
# dpkg is new enough for the --robot option
$dpkgversion = version->new($1);
}