From: Tomas Krizek Date: Mon, 7 Jun 2021 11:42:43 +0000 (+0200) Subject: scripts/make-archive: allow creation of tagged archive X-Git-Tag: v5.4.0~16^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27165cee5922782827e2aafd212f7979901e53fd;p=thirdparty%2Fknot-resolver.git scripts/make-archive: allow creation of tagged archive --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdb00245b..0047ef26d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -84,12 +84,7 @@ archive: EMAIL: 'ci@nic' except: null script: - - > - if [[ -z "${CI_COMMIT_TAG}" ]]; then - ./scripts/make-dev-archive.sh - else - meson build_dist; ninja -C build_dist dist - fi + - apkg make-archive build: <<: *build diff --git a/distro/config/apkg.toml b/distro/config/apkg.toml index 1096c38b0..8b98b85b0 100644 --- a/distro/config/apkg.toml +++ b/distro/config/apkg.toml @@ -1,7 +1,7 @@ [project] name = "knot-resolver" # needed for make-archive -make_archive_script = "scripts/make-dev-archive.sh" +make_archive_script = "scripts/make-archive.sh" [upstream] # needed for get-archive diff --git a/doc/build.rst b/doc/build.rst index ce26d8c54..75acf7d29 100644 --- a/doc/build.rst +++ b/doc/build.rst @@ -220,7 +220,7 @@ It's also possible to make a development snapshot tarball: .. code-block:: bash - $ ./scripts/make-dev-archive.sh + $ ./scripts/make-archive.sh .. _packaging: diff --git a/scripts/make-dev-archive.sh b/scripts/make-archive.sh similarity index 50% rename from scripts/make-dev-archive.sh rename to scripts/make-archive.sh index 8bca4dcd0..c678818a4 100755 --- a/scripts/make-dev-archive.sh +++ b/scripts/make-archive.sh @@ -5,26 +5,28 @@ set -o errexit -o nounset -o xtrace cd "$(dirname ${0})/.." -# devel version -GIT_HASH=$(git rev-parse --short HEAD ) -TIMESTAMP=$(date -u +'%s' 2>/dev/null) - # make sure we don't accidentally add / overwrite forgotten changes in git (git diff-index --quiet HEAD && git diff-index --cached --quiet HEAD) || \ (echo 'git index has uncommited changes!'; exit 1) -# modify and commit meson.build -sed -i "s/^\(\s*version\s*:\s*'\)\([^']\+\)\('.*\)/\1\2.$TIMESTAMP.$GIT_HASH\3/" meson.build +if ! git describe --tags --exact-match; then + # devel version + GIT_HASH=$(git rev-parse --short HEAD ) + TIMESTAMP=$(date -u +'%s' 2>/dev/null) + + # modify and commit meson.build + sed -i "s/^\(\s*version\s*:\s*'\)\([^']\+\)\('.*\)/\1\2.$TIMESTAMP.$GIT_HASH\3/" meson.build -: changed version in meson.build, changes must be commited to git -git add meson.build -git commit -m 'DROP: devel version archive' + : changed version in meson.build, changes must be commited to git + git add meson.build + git commit -m 'DROP: devel version archive' -cleanup() { - # undo commit - git reset --hard HEAD^ >/dev/null -} -trap cleanup EXIT + cleanup() { + # undo commit + git reset --hard HEAD^ >/dev/null + } + trap cleanup EXIT +fi # create tarball rm -rf build_dist ||: diff --git a/scripts/obs-build.sh b/scripts/obs-build.sh index 5b1e33c3c..77e570122 100755 --- a/scripts/obs-build.sh +++ b/scripts/obs-build.sh @@ -13,7 +13,7 @@ if [[ $(git status --porcelain | wc -l) -ne 0 ]]; then fi # Create tarball -scripts/make-dev-archive.sh +scripts/make-archive.sh # Submit to OBS scripts/make-distrofiles.sh -s