From 0efd1965da12d965aa963439879379faafe956a0 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Tue, 10 Dec 2024 00:50:08 +0100 Subject: [PATCH] fix with writing lock follow-ups Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- src/xx-apk | 4 ++-- src/xx-apt | 3 +++ src/xx-cargo | 3 +++ src/xx-cc | 3 +++ src/xx-verify | 3 +++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/xx-apk b/src/xx-apk index 393ce84..c7e3549 100755 --- a/src/xx-apk +++ b/src/xx-apk @@ -4,13 +4,13 @@ set -e if [ -z "$XX_APK_NOLOCK" ]; then # readlink -f in ash can not resolve symlinks from deep workdir - cd / + cd / >/dev/null if [ -L /var/lock ] && [ ! -e "$(readlink -f /var/lock)" ]; then mkdir -p "$(readlink -f /var/lock)" elif [ ! -d /var/lock ]; then mkdir -p /var/lock fi - cd - + cd - >/dev/null lock="/var/lock/xx-apk" exec 9>$lock flock -x 9 diff --git a/src/xx-apt b/src/xx-apt index 08c16c4..13316ff 100755 --- a/src/xx-apt +++ b/src/xx-apt @@ -3,11 +3,14 @@ set -e if [ -z "$XX_APT_NOLOCK" ]; then + # readlink -f in ash can not resolve symlinks from deep workdir + cd / >/dev/null if [ -L /var/lock ] && [ ! -e "$(readlink -f /var/lock)" ]; then mkdir -p "$(readlink -f /var/lock)" elif [ ! -d /var/lock ]; then mkdir -p /var/lock fi + cd - >/dev/null lock="/var/lock/xx-apt" exec 9>$lock flock -x 9 diff --git a/src/xx-cargo b/src/xx-cargo index a24e0c2..3ad890f 100755 --- a/src/xx-cargo +++ b/src/xx-cargo @@ -10,11 +10,14 @@ execSilent() { } if [ -z "$XX_CARGO_NOLOCK" ]; then + # readlink -f in ash can not resolve symlinks from deep workdir + cd / >/dev/null if [ -L /var/lock ] && [ ! -e "$(readlink -f /var/lock)" ]; then mkdir -p "$(readlink -f /var/lock)" elif [ ! -d /var/lock ]; then mkdir -p /var/lock fi + cd - >/dev/null lock="/var/lock/xx-cargo" exec 9>$lock flock -x 9 diff --git a/src/xx-cc b/src/xx-cc index 445c0eb..08446d3 100755 --- a/src/xx-cc +++ b/src/xx-cc @@ -301,11 +301,14 @@ fi setup() { if [ -z "$XX_CC_NOLOCK" ]; then + # readlink -f in ash can not resolve symlinks from deep workdir + cd / >/dev/null if [ -L /var/lock ] && [ ! -e "$(readlink -f /var/lock)" ]; then mkdir -p "$(readlink -f /var/lock)" elif [ ! -d /var/lock ]; then mkdir -p /var/lock fi + cd - >/dev/null lock="/var/lock/xx-cc" exec 9>$lock flock -x 9 diff --git a/src/xx-verify b/src/xx-verify index 1f8e8ca..8442d53 100755 --- a/src/xx-verify +++ b/src/xx-verify @@ -3,11 +3,14 @@ set -e if [ -z "$XX_VERIFY_NOLOCK" ]; then + # readlink -f in ash can not resolve symlinks from deep workdir + cd / >/dev/null if [ -L /var/lock ] && [ ! -e "$(readlink -f /var/lock)" ]; then mkdir -p "$(readlink -f /var/lock)" elif [ ! -d /var/lock ]; then mkdir -p /var/lock fi + cd - >/dev/null lock="/var/lock/xx-verify" exec 9>$lock flock -x 9