diff options
Diffstat (limited to '.extras/mksboarchive')
| -rwxr-xr-x | .extras/mksboarchive | 23 |
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" |
