43 строки
1.1 KiB
Bash
Executable File
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"
|