From d3bbe3807c8a55390af31a28398cadb409166f7c Mon Sep 17 00:00:00 2001 From: dann frazier Date: Fri, 15 Aug 2014 13:40:08 -0600 Subject: [PATCH] UBUNTU: [debian] Fix regression with ABI subversions and backport Tim pointed out that 443b5814ee77f8c9083079ce0e6a0806e087630f broke the parsing of backport versions, such as 8.13~14.10+ppa.1. This should fix it. I used the following script to validate the regular expressions: dannf@fluid:~$ cat test.sh set -e splitver() { local ver="$1" local abinum="$(echo $ver | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$/\1/')" local uploadnum="$(echo $ver | sed -r -e 's/[^\+~]*\.([^\.~]+)(~.*)?(\+.*)?$/\1/')" echo "$abinum $uploadnum" } do_test() { local ver="$1" local expected="$2" local actual="$(splitver $ver)" if [ "$actual" = "$expected" ]; then echo "PASS: $ver" return 0 fi echo "FAIL: $ver split as $actual" return 1 } do_test "33.58" "33 58" do_test "33.59.58" "33.59 58" do_test "8.13~14.10" "8 13" do_test "8.13~14.10+ppa.1" "8 13" do_test "8.13.99~14.10+ppa.3" "8.13 99" dannf@fluid:~$ ./test.sh PASS: 33.58 PASS: 33.59.58 PASS: 8.13~14.10 PASS: 8.13~14.10+ppa.1 PASS: 8.13.99~14.10+ppa.3 Signed-off-by: dann frazier Signed-off-by: Tim Gardner --- debian/rules.d/0-common-vars.mk | 6 +++--- debian/scripts/misc/getabis | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk index 629c12e38ebb..8530b62adcd5 100644 --- a/debian/rules.d/0-common-vars.mk +++ b/debian/rules.d/0-common-vars.mk @@ -61,11 +61,11 @@ ifeq ($(full_build),false) skipdbg=true endif -abinum := $(shell echo $(revision) | sed -r -e 's/([^\+]*)\.[^\.]+(\+.*)?$$/\1/')$(abi_suffix) -prev_abinum := $(shell echo $(prev_revision) | sed -r -e 's/([^\+]*)\.[^\.]+(\+.*)?$$/\1/')$(abi_suffix) +abinum := $(shell echo $(revision) | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$$/\1/')$(abi_suffix) +prev_abinum := $(shell echo $(prev_revision) | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$$/\1/')$(abi_suffix) abi_release := $(release)-$(abinum) -uploadnum := $(shell echo $(revision) | sed -r -e 's/[^\+]*\.([^\.]+(\+.*)?$$)/\1/') +uploadnum := $(shell echo $(revision) | sed -r -e 's/[^\+~]*\.([^\.~]+)(~.*)?(\+.*)?$$/\1/') ifneq ($(full_build),false) uploadnum := $(uploadnum)-Ubuntu endif diff --git a/debian/scripts/misc/getabis b/debian/scripts/misc/getabis index 43494997a865..b6db413695e2 100755 --- a/debian/scripts/misc/getabis +++ b/debian/scripts/misc/getabis @@ -11,7 +11,7 @@ fi ver=$1 revision=$2 -abi=$(echo $revision | sed -r -e 's/([^\+]*)\.[^\.]+(\+.*)?$/\1/') +abi=$(echo $revision | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$/\1/') verabi=$ver-$abi verfull=$ver-$revision -- 2.39.5