From 73fbb5937741283d2310f0c9ebb36ac9c8faca29 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Mon, 30 May 2022 19:24:00 +0200 Subject: [PATCH] ensure version string is what we expect --- packaging/FreeBSD-repo.sh | 8 ++++++-- packaging/check_versions.sh | 9 +++++++-- packaging/versions.txt | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packaging/FreeBSD-repo.sh b/packaging/FreeBSD-repo.sh index 33137d6..45722c2 100755 --- a/packaging/FreeBSD-repo.sh +++ b/packaging/FreeBSD-repo.sh @@ -101,8 +101,12 @@ mv "${TMP}/usr" "${PKG_ROOT}" VERSION=$(jq -r '.version' "${MANIFEST}") # if we've a tagged version (1.5.0), append the number of commits and a dummy hash -HAS_COMMIT=$(echo $VERSION | grep -c '[0-9a-fA-F][0-9a-fA-f][0-9a-fA-F][0-9a-fA-F][0-9a-fA-f][0-9a-fA-F]') -if [ $HAS_COMMIT -eq 0 ]; then +VERSION_GOOD=$(echo $VERSION | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+$') +VERSION_WITH_COMMIT=$(echo $VERSION | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\.g[0-9a-fA-f]\+$') +if [ $VERSION_GOOD -eq 0 -a $VERSION_WITH_COMMIT -eq 0 ]; then + die "version does not conform to (MAJOR.MINOR.PATCH[.#NUM_COMMITS.g])" +fi +if [ $VERSION_WITH_COMMIT -eq 0 ]; then VERSION="${VERSION}.0.g0000000" fi diff --git a/packaging/check_versions.sh b/packaging/check_versions.sh index 77dc365..1b93100 100755 --- a/packaging/check_versions.sh +++ b/packaging/check_versions.sh @@ -8,8 +8,13 @@ freebsd_sanitize_version () { post=$(echo $1 | rev | cut -d '-' -f 1-2 | rev | sed -e 's/-/./g') v=$(echo $1 | rev | cut -d '-' -f 3- | rev | sed -e 's/-/./g') - has_commit=$(echo $v | grep -c '[0-9a-fA-F][0-9a-fA-f][0-9a-fA-F][0-9a-fA-F][0-9a-fA-f][0-9a-fA-F]') - if [ $has_commit -eq 0 ]; then + version_good=$(echo $v | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+$') + version_with_commit=$(echo $v | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\.g[0-9a-fA-f]\+$') + if [ $version_good -eq 0 -a $version_with_commit -eq 0 ]; then + echo "invalid version $v"; + exit 1; + fi + if [ $version_with_commit -eq 0 ]; then v="${v}.0.g0000000" fi echo $v diff --git a/packaging/versions.txt b/packaging/versions.txt index b19d687..f62c530 100644 --- a/packaging/versions.txt +++ b/packaging/versions.txt @@ -3,6 +3,6 @@ 2.0.0-10-gabcdef-20220202-hahh 2.0.0-11-g123456-20220201-abcd 2.0.0-10-gabcdef-20220202-hahh 2.0.0-110-g123456-20220201-abcd 2.0.0-11-g123456-20220201-abcd 2.0.1-20220120-abcd -3.0-20230101-abcd 3.0.1-20230204-bdbd +3.0.0-20230101-abcd 3.0.1-20230204-bdbd 1.5.0-20220516-a0d5a2 1.5.0-3-g26b5a59-20220527-0bc180 1.5.0-3-g26b5a59-20220527-0bc180 1.5.1-20220527-0bc180