[PATCH v2] scripts: container.sh: don't add -v twice if unneeded

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Jun 19 03:44:05 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>
---
v1 -> v2:
  - drop single quotes in double quotes. These were passed literally
    to podman
---
 scripts/container.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/container.sh b/scripts/container.sh
index eb1e87b59baa..2850f26fc749 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