From d398768d104641e4def1c37792fa792374bb05a5 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Mon, 4 Oct 2021 23:54:03 -0400 Subject: avoid creating files in current directory --- .gitignore | 2 -- selfpublish.sh | 24 ++++++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b703b20..c00df13 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ *.deb -have-dependencies -want-dependencies diff --git a/selfpublish.sh b/selfpublish.sh index 1029556..3ec7ca8 100644 --- a/selfpublish.sh +++ b/selfpublish.sh @@ -497,17 +497,29 @@ EOF echo } -control_file_unchanged() +in_temp_dir() +{ + ( + __tempdir=$(mktemp -d) || return + __r=1 + trap 'rm -rf "$__tempdir"; (exit $__r)' EXIT + cd "$__tempdir" && "$@" + __r=$? + ) +} + +_control_file_unchanged() { - ( - destdir=$(mktemp -d) - trap 'rm -r "$destdir"' EXIT [ "$(dpkg-query -f '${Version}' -W ${SELF_PACKAGE})" = "${SELF_VERSION}" ] || return dependencies > want-dependencies dpkg-query -f '${Depends}\n' -W "${SELF_PACKAGE}" | sed 's/, */\n/g' | sort -u > have-dependencies - diff -q want-dependencies have-dependencies - ) + diff -q want-dependencies have-dependencies +} + +control_file_unchanged() +{ + in_temp_dir _control_file_unchanged "$@" } equivocate() -- cgit v1.2.3