Files
OpenRA/packaging/source/buildpackage.sh
2022-09-18 10:30:58 +02:00

29 lines
859 B
Bash
Executable File

#!/bin/bash
# OpenRA packaging script for versioned source tarball
set -o errexit || exit $?
if [ $# -ne "2" ]; then
echo "Usage: $(basename "$0") tag outputdir"
exit 1
fi
# Set the working dir to the location of this script
cd "$(dirname "$0")" || exit 1
TAG="$1"
OUTPUTDIR="$2"
SRCDIR="$(pwd)/../.."
pushd "${SRCDIR}" > /dev/null || exit 1
make version VERSION="${TAG}"
# The output from `git ls-tree` is too long to fit in a single command (overflows MAX_ARG_STRLEN)
# so `xargs` will automatically split the input across multiple `tar` commands.
# Use the amend flag (r) to prevent each call erasing the output from earlier calls.
rm "${OUTPUTDIR}/OpenRA-${TAG}-source.tar" || :
git ls-tree HEAD --name-only -r -z | xargs -0 tar vrf "${OUTPUTDIR}/OpenRA-${TAG}-source.tar"
bzip2 "${OUTPUTDIR}/OpenRA-${TAG}-source.tar"
popd > /dev/null || exit 1