Browse Source

Move the last bits of release creation into Makefile.am

Fixes #938.

Signed-off-by: Alexey Neyman <stilor@att.net>
dev-linux
Alexey Neyman 4 years ago
parent
commit
2d6ecbda6b
  1. 13
      Makefile.am
  2. 63
      maintainer/create-release.sh

13
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

63
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

Loading…
Cancel
Save