From e4942d45b9be5fda89b23f4d7e11d40c0ed09c52 Mon Sep 17 00:00:00 2001 From: Peter Cullen Date: Thu, 4 Apr 2024 16:36:05 +0000 Subject: [PATCH] Modify version parsing for localversion The regex used for validating version strings was updated to allow for an optional localversion component. The piece of the version string also needs to be removed before parsing a possible commit number. --- scripts/base/misc/version.zeek | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/base/misc/version.zeek b/scripts/base/misc/version.zeek index 321f35d1cc..826cb33c56 100644 --- a/scripts/base/misc/version.zeek +++ b/scripts/base/misc/version.zeek @@ -56,7 +56,7 @@ export { function parse(version_string: string): VersionDescription { - if ( /[0-9]+\.[0-9]+(\.[0-9]+)?(-(beta|rc|dev)[0-9]*)?((-|\.)[0-9]+)?(-debug)?/ != version_string ) + if ( /[0-9]+\.[0-9]+(\.[0-9]+)?(-(beta|rc|dev)[0-9]*)?((-|\.)[0-9]+)?(-[a-zA-Z0-9]+)?(-debug)?/ != version_string ) { Reporter::error(fmt("Version string %s cannot be parsed", version_string)); return VersionDescription($version_number=0, $major=0, $minor=0, $patch=0, $commit=0, $beta=F, $debug=F, $version_string=version_string); @@ -92,6 +92,8 @@ function parse(version_string: string): VersionDescription vs = gsub(vs, /-debug$/, ""); vs = gsub(vs, /-(beta|rc|dev)[0-9]*/, ""); + # Drop the optional local version piece + vs = gsub(vs, /-[a-zA-Z0-9]+$/, ""); # Either a .X, or -X possibly remaining vs = lstrip(vs, ".-");