aboutsummaryrefslogtreecommitdiffstats
path: root/.extras/mksboarchive
diff options
context:
space:
mode:
Diffstat (limited to '.extras/mksboarchive')
-rwxr-xr-x.extras/mksboarchive23
1 files changed, 12 insertions, 11 deletions
diff --git a/.extras/mksboarchive b/.extras/mksboarchive
index a53fbf4..fc54709 100755
--- a/.extras/mksboarchive
+++ b/.extras/mksboarchive
@@ -8,9 +8,10 @@ usage() {
usage: ${0##*/} <package-name>
Build the SBo submission tarball <package-name>.tar.gz, the same archive the
-post-commit hook produces, on demand by name. The package must exist in this
-repo (<package-name>/<package-name>.SlackBuild). Any sbodl source symlinks in
-the package directory are removed first so they never leak into the tarball.
+post-commit hook produces, on demand by name. Run from the repo root: the
+package is the <package-name>/ directory below the current directory, with a
+matching <package-name>.SlackBuild. Any sbodl source symlinks in the package
+directory are removed first so they never leak into the tarball.
Output goes to the current directory by default; set OUTPUT to override:
OUTPUT=/tmp ${0##*/} feroxbuster # writes /tmp/feroxbuster.tar.gz
@@ -23,22 +24,22 @@ esac
[ $# -eq 1 ] || { usage >&2; exit 2; }
pkg=$1
-REPO_ROOT=$(git -C "$(dirname "$0")" rev-parse --show-toplevel)
-# Where the tarball lands. Defaults to the current directory; override with
-# the OUTPUT env var (e.g. OUTPUT=/tmp mksboarchive feroxbuster).
+# Run this from the repo root. The package is the <pkg>/ directory below the
+# current directory; the tarball is written to the current directory by
+# default, override with the OUTPUT env var.
OUTPUT=${OUTPUT:-$PWD}
-# Must be a real package dir one level deep with a matching .SlackBuild.
-if [ ! -f "$REPO_ROOT/$pkg/$pkg.SlackBuild" ]; then
- echo "error: '$pkg' is not a package in this repo." >&2
+# Must be a real package dir below CWD with a matching .SlackBuild.
+if [ ! -f "$pkg/$pkg.SlackBuild" ]; then
+ echo "error: no '$pkg/$pkg.SlackBuild' here. Run from the repo root." >&2
exit 1
fi
# Drop any sbodl source symlinks before archiving so they never end up in an
# SBo submission tarball (the pre-commit hook does the same for staged files).
-find "$REPO_ROOT/$pkg" -type l -delete
+find "$pkg" -type l -delete
mkdir -p "$OUTPUT"
-tar -czf "$OUTPUT/$pkg.tar.gz" -C "$REPO_ROOT" "$pkg"
+tar -czf "$OUTPUT/$pkg.tar.gz" "$pkg"
echo "Archive created: $OUTPUT/$pkg.tar.gz"