From 2d6ecbda6bb7a891eb29a57a0d92ecbf653eba86 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 29 Sep 2018 10:24:18 -0700 Subject: Move the last bits of release creation into Makefile.am Fixes #938. Signed-off-by: Alexey Neyman diff --git a/Makefile.am b/Makefile.am index 5fdee30..92b8af5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -83,3 +83,16 @@ fetch-docs: maintainer/download-docs.sh .PHONY: gen-tarball-version gen-tarball-version: echo $(VERSION) > $(distdir)/.tarball-version + +DIGESTS = md5 sha1 sha512 +USE_GPG = yes + +dist-create-release: distcheck + for a in $(DIST_ARCHIVES); do \ + for d in $(DIGESTS); do \ + $${d}sum $${a} > $${a}.$${d}; \ + done; \ + if [ "$(USE_GPG)" = "yes" ]; then \ + gpg --detach-sign $${a}; \ + fi; \ + done diff --git a/maintainer/create-release.sh b/maintainer/create-release.sh index 498fc0a..ae6e8ec 100755 --- a/maintainer/create-release.sh +++ b/maintainer/create-release.sh @@ -1,20 +1,6 @@ #!/bin/bash -formats=( "bz2" "xz" ) -declare -A tar_opt=( ["bz2"]=j ["xz"]=J ) -digests=( md5 sha1 sha512 ) -use_gpg=yes - -do_trace() -{ - echo " --> $@" >&2 -} - -do_abort() -{ - echo "ERROR: $@" >&2 - exit 1 -} +set -ex # Go to the top-level topdir=`git rev-parse --show-toplevel` @@ -22,49 +8,6 @@ if [ -z "${topdir}" ]; then do_abort "Not in the Git clone" fi cd "${topdir}" - -# Determine the version. Replace the dashes with dots, as packaging -# systems don't expect dashes in versions, but they're ok in package -# name. -version=`git describe | sed -r -e 's,-,.,g' -e 's,^crosstool\.ng\.,crosstool-ng-,'` -do_trace "Creating release for ${version}" - -# Create the base working directory -if [ -e "release" -a ! -d "release" ]; then - do_abort "File 'release' already exists but is not a directory" -fi -mkdir -p "release" - -# Copy the base stuff -do_trace "Copying crosstool-NG" -rm -rf "release/${version}" -git archive --prefix="${version}/" HEAD | tar xf - -C "release" - -# The rest of modifications are inside the release directory -cd "release/${version}" - -# Run bootstrap before it is removed -do_trace "Bootstrapping" ./bootstrap -rm -f bootstrap - -# Remove other things not for the end user -do_trace "Removing unreleased files" -rm -f .travis.* -find -name .gitignore | xargs rm -rm -rf autom4te.cache maintainer - -# Go back to top level -cd ../.. - -# Package up -do_trace "Packaging" -for fmt in "${formats[@]}"; do - tar c${tar_opt[$fmt]}f "release/${version}.tar.${fmt}" -C "release" "${version}" - for h in "${digests[@]}"; do - (cd "release" && ${h}sum "${version}.tar.${fmt}") > "release/${version}.tar.${fmt}.${h}" - done - if [ "${use_gpg}" = "yes" ]; then - (cd "release" && gpg --detach-sign "${version}.tar.${fmt}") - fi -done +./configure --enable-local +make dist-create-release -- cgit v0.10.2-6-g49f6