create_tarball: Add option to select compression method

(cherry picked from commit 6a19cd9bb6)
v3.5.13-sru
Slávek Banko 12 years ago
parent e2250001be
commit 2da96d38f2

@ -12,6 +12,13 @@ SUFFIX=${SUFFIX:-"true"}
# The default is the parent directory (..).
TARBALL_DIR=${TARBALL_DIR:-".."}
# Set compression method
case ${COMPRESS:="xz"} in
"gzip") TAR_SUFFIX="gz";;
"bzip2") TAR_SUFFIX="bz2";;
"xz") TAR_SUFFIX="xz";;
esac
# Check git-dir
if [[ ! -e .git ]] ||
[[ -z "`git rev-parse --git-dir 2>/dev/null`" ]]; then
@ -80,12 +87,12 @@ fi
# Create tarball
echo "Package name: $package"
if [ ! -e $TARBALL_DIR/$package.tar.xz ]; then
if [ ! -e $TARBALL_DIR/$package.tar.$TAR_SUFFIX ]; then
echo "Creating tarball in $TARBALL_DIR."
trap "rm $TARBALL_DIR/tar-$$; exit 1" INT
tar c --owner=root --group=users --exclude .git --exclude .gitmodules --transform "s|^\.|$package|" ./ | \
xz -9 >$TARBALL_DIR/tar-$$ && \
mv $TARBALL_DIR/tar-$$ $TARBALL_DIR/$package.tar.xz || \
$COMPRESS -9 >$TARBALL_DIR/tar-$$ && \
mv $TARBALL_DIR/tar-$$ $TARBALL_DIR/$package.tar.$TAR_SUFFIX || \
rm $TARBALL_DIR/tar-$$
else
echo "Unchanged tarball in $TARBALL_DIR."

Loading…
Cancel
Save