diff options
| author | Coelacanthus <[email protected]> | 2021-10-25 18:22:20 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-10-25 18:22:20 +0800 |
| commit | c7ac4208afc9f4c0c7e100d627fef7d47d0b885b (patch) | |
| tree | 25b179225c1aa6eeea2a9067c20ceff392ec4867 /pkgbuild.sh | |
| parent | 9c42d75e17ea62786581376ff627036fd63311ef (diff) | |
refactor(script): add fast-fail and clean-up (#5)
Signed-off-by: Coelacanthus <[email protected]>
Diffstat (limited to 'pkgbuild.sh')
| -rwxr-xr-x | pkgbuild.sh | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/pkgbuild.sh b/pkgbuild.sh index ae14b4e..1b44d8b 100755 --- a/pkgbuild.sh +++ b/pkgbuild.sh @@ -1,5 +1,27 @@ #!/bin/bash +# end up when failed +set -Eeuo pipefail + +# clean up when exit +trap cleanup SIGINT SIGTERM ERR EXIT +cleanup() { + trap - SIGINT SIGTERM ERR EXIT + unset PACKAGE_NAME + unset PKGDEST + unset SRCDEST + unset CONFDEST + unset REPO_DEST + rm -f "$TMPCONF" + rm -rf "$REPO_PENDING" + rm -rf "$REPO_DIFF" + unset TMPCONF + unset REPO_PENDING + unset REPO_DIFF + unset PKGBUILD_DIRECTORY_BASE + unset ARCH +} + ARCH=$(uname -m) PKGBUILD_DIRECTORY_BASE="repo" PKGDEST="${PWD}/packages/$ARCH" @@ -8,7 +30,6 @@ CONFDEST="${PWD}/makepkg.d/makepkg.$ARCH.conf" REPO_PENDING="${PWD}/packages/$ARCH/PENDING" REPO_DIFF="${PWD}/packages/$ARCH/DIFF" -trap 'rm -f "$TMPCONF"' EXIT TMPCONF=$(mktemp -t makepkg.$ARCH.conf.XXXXXXXXXX) || exit 1 cat "${PWD}/makepkg.d/makepkg.base.conf" > "$TMPCONF" cat "$CONFDEST" >> "$TMPCONF" @@ -61,15 +82,3 @@ fi date +%s > "$PKGDEST/LASTBUILD" -unset PACKAGE_NAME -unset PKGDEST -unset SRCDEST -unset CONFDEST -unset REPO_DEST -rm -rf "$REPO_PENDING" -rm -rf "$REPO_DIFF" -unset REPO_PENDING -unset REPO_DIFF -unset PKGBUILD_DIRECTORY_BASE -unset ARCH -unset REPO_BASE_NAME |
