backup-utils/script/package-tarball

43 строки
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Usage: script/package-tarball
# Script to build a tarball release package from the current HEAD version.
# The package version comes from `git-describe --tags' so the release tag should
# be in place before this command is run.
set -e
# Change into project root
cd "$(dirname "$0")"/..
# Fetch tags from remote repository
git fetch --tags
# Basic package name and version.
PKG_BASE="github-backup-utils"
PKG_VERS="$(git describe --tags)"
PKG_NAME="${PKG_BASE}-${PKG_VERS}"
# Remove all files or directories listed in .releaseignore
echo "Removing files listed in .releaseignore ..."
while IFS= read -r line; do
rm -rf "$line"
done < .releaseignore
# Remove the .releaseignore file itself
echo "Removing .releaseignore ..."
rm -f .releaseignore
# Run git-archive to generate tarball
echo "Creating ${PKG_NAME}.tar.gz ..."
mkdir -p dist
git archive \
--format=tar.gz \
--prefix="$PKG_NAME/" \
--output="dist/${PKG_NAME}.tar.gz" \
HEAD
# List archive contents for review
gzip -dc < "dist/${PKG_NAME}.tar.gz" | tar tf -
# Output location
echo "Package dist/${PKG_NAME}.tar.gz OK"