[PATCH] scripts: container.sh: don't add -v twice if unneeded
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Jun 19 03:25:19 PDT 2023
The script bind mounts the barebox directory as in $PWD as well as the
realpath into the container to reduce surprises when $PWD contains a
symlinked path. In cases where the path is not symlinked, some podman
versions complain about "duplicate mount destination". Fix this by only
adding the second volume specification, if the path isn't already
canonical.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
scripts/container.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/scripts/container.sh b/scripts/container.sh
index eb1e87b59baa..d26f2df68603 100755
--- a/scripts/container.sh
+++ b/scripts/container.sh
@@ -31,9 +31,13 @@ shift $((OPTIND-1))
[ -n "$update" ] && podman pull "$CONTAINER"
+volumes="-v '$PWD:$PWD:z'"
pwd_real=$(realpath $PWD)
+if [ "$(realpath --no-symlinks $PWD)" != "$pwd_real" ]; then
+ volumes="$volumes -v '$pwd_real:$pwd_real:z'"
+fi
-exec podman run -it -v "$PWD:$PWD:z" -v "$pwd_real:$pwd_real:z" --rm \
+exec podman run -it $volumes --rm \
-e TERM -e ARCH -e CONFIG -e JOBS -e LOGDIR -e REGEX \
-e KCONFIG_ADD -w "$PWD" --userns=keep-id \
-- "$CONTAINER" "${@:-/bin/bash}"
--
2.39.2
More information about the barebox
mailing list