Compare commits

...

3 Commits

Author SHA1 Message Date
Jakub Klinkovský
779a8a53e2 Merge branch 'trap' into 'master'
fix: avoid overriding traps set up by the setup_workdir function

See merge request archlinux/devtools!247
2025-08-12 12:15:39 +00:00
Aaron Liu
3f0ebbc6d2 fix(license): add .gitignore to REUSE defaults
36 packages use this while 26 use *.pam and 21 use *.logrotate. Seems
anecdotally common enough to add this here.
2025-08-08 14:13:32 +02:00
Jakub Klinkovský
6370142696 Avoid overriding traps set up by the setup_workdir function
Bash traps for each signal are not composable, but rather override each
other. Scripts should either place their temporary files in the common
$WORKDIR and rely on the common traps to do the cleanup, or call the
common trap_abort/trap_exit functions from the new traps.
2025-07-18 19:08:52 +00:00
5 changed files with 12 additions and 7 deletions

View File

@@ -90,7 +90,11 @@ if [[ ${arch[0]} == 'any' ]]; then
fi
STARTDIR=$(pwd)
(( RMDIR )) && trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT
if (( RMDIR )); then
# lib/common.sh sets up traps for cleanup, the following will override them
trap 'rm -rf "$TEMPDIR"; trap_abort' INT QUIT TERM HUP
trap 'rm -rf "$TEMPDIR"; trap_exit' EXIT
fi
TEMPDIR=$(mktemp -d --tmpdir checkpkg-script.XXXX)
for _pkgname in "${pkgname[@]}"; do

View File

@@ -182,8 +182,8 @@ elif [[ -r "$HOME/.makepkg.conf" ]]; then
fi
STARTDIR=$(pwd)
trap 'rm -rf $TMPDIR' EXIT INT TERM QUIT
TMPDIR=$(mktemp -d --tmpdir diffpkg-script.XXXXXXXX)
[[ -z ${WORKDIR:-} ]] && setup_workdir
TMPDIR=$(mktemp -d --tmpdir="$WORKDIR" diffpkg-script.XXXXXXXX)
export TMPDIR
tar_list() {

View File

@@ -50,8 +50,8 @@ if (( ${#validpgpkeys[@]} == 0 )); then
exit 0
fi
trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT
TEMPDIR=$(mktemp -d --tmpdir export-pkgbuild-keys.XXXXXXXXXX)
[[ -z ${WORKDIR:-} ]] && setup_workdir
TEMPDIR=$(mktemp -d --tmpdir="$WORKDIR" export-pkgbuild-keys.XXXXXXXXXX)
mkdir -p keys/pgp
error=0

View File

@@ -188,6 +188,7 @@ path = [
"README.md",
"keys/**",
".SRCINFO",
".gitignore",
".nvchecker.toml",
"*.install",
"*.sysusers",

View File

@@ -242,8 +242,8 @@ for fname in "${installed[@]}"; do
fi
done
trap 'rm -rf $TEMPDIR' EXIT INT TERM QUIT
TEMPDIR=$(mktemp -d --tmpdir makerepropkg.XXXXXXXXXX)
[[ -z ${WORKDIR:-} ]] && setup_workdir
TEMPDIR=$(mktemp -d --tmpdir="$WORKDIR" makerepropkg.XXXXXXXXXX)
makepkg_conf="${TEMPDIR}/makepkg.conf"
# anything before buildtool support is pinned to the last none buildtool aware release