packaging: blindly factor out trap's cleanup function in builddeb
This commit blindly extracts builddeb's trap routine in a dedicated function.
While doing so, I think two bugs are exposed, which will be addressed in the
next commits:
- single quoting around '$CLEANUP' will always evaluate to the literal
'$CLEANUP' regardless of the variable's value. The "if" will always be true.
- the removal operation will not expand $PWD (and a variable expansion would
need double quotes, anyways.
--- a/contrib/packaging/builddeb Tue Oct 09 21:40:49 2018 +0200
+++ b/contrib/packaging/builddeb Tue Oct 09 22:16:25 2018 +0200
@@ -13,6 +13,13 @@
DISTID=`(lsb_release -is 2> /dev/null | tr '[:upper:]' '[:lower:]') || echo debian`
CODENAME=`lsb_release -cs 2> /dev/null || echo unknown`
DEBFLAGS=-b
+
+cleanup() {
+ if [ '$CLEANUP' ]; then
+ rm -r '$PWD/debian';
+ fi
+}
+
while [ "$1" ]; do
case "$1" in
--distid )
@@ -44,7 +51,7 @@
esac
done
-trap "if [ '$CLEANUP' ] ; then rm -r '$PWD/debian' ; fi" EXIT
+trap 'cleanup' EXIT
set -u