summaryrefslogtreecommitdiffstats
path: root/src/ci/docker/run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ci/docker/run.sh')
-rwxr-xr-xsrc/ci/docker/run.sh11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ci/docker/run.sh b/src/ci/docker/run.sh
index 93b4f435d..69d4916e5 100755
--- a/src/ci/docker/run.sh
+++ b/src/ci/docker/run.sh
@@ -213,7 +213,16 @@ else
args="$args --volume $HOME/.cargo:/cargo"
args="$args --volume $HOME/rustsrc:$HOME/rustsrc"
args="$args --volume /tmp/toolstate:/tmp/toolstate"
- args="$args --env LOCAL_USER_ID=`id -u`"
+
+ id=$(id -u)
+ if [[ "$id" != 0 && "$(docker -v)" =~ ^podman ]]; then
+ # Rootless podman creates a separate user namespace, where an inner
+ # LOCAL_USER_ID will map to a different subuid range on the host.
+ # The "keep-id" mode maps the current UID directly into the container.
+ args="$args --env NO_CHANGE_USER=1 --userns=keep-id"
+ else
+ args="$args --env LOCAL_USER_ID=$id"
+ fi
fi
if [ "$dev" = "1" ]