From 6bf521b42b0d9e3896ddbd2e2150b47493301052 Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Mon, 8 Jul 2019 17:51:38 +0300 Subject: [PATCH] clean.sh: avoid cleaning build directories while build is running --- clean.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/clean.sh b/clean.sh index 93077e79ce..b00e19220d 100755 --- a/clean.sh +++ b/clean.sh @@ -6,5 +6,21 @@ set -e -u test -f $HOME/.termuxrc && . $HOME/.termuxrc : ${TERMUX_TOPDIR:="$HOME/.termux-build"} -[ -d "$TERMUX_TOPDIR" ] && chmod +w -R $TERMUX_TOPDIR -rm -Rf /data/* $TERMUX_TOPDIR + +# Lock file. Same as used in build-package.sh. +TERMUX_BUILD_LOCK_FILE="/tmp/.termux-build.lck" +if [ ! -e "$TERMUX_BUILD_LOCK_FILE" ]; then + touch "$TERMUX_BUILD_LOCK_FILE" +fi + +{ + if ! flock -n 5; then + echo "Not cleaning build directory since you have unfinished build running." + exit 1 + fi + + if [ -d "$TERMUX_TOPDIR" ]; then + chmod +w -R $TERMUX_TOPDIR + fi + rm -Rf /data/* $TERMUX_TOPDIR +} 5< "$TERMUX_BUILD_LOCK_FILE"