diff --git a/docker/scripts/take-ownership.sh b/docker/scripts/take-ownership.sh index 9cd54fd..13203b3 100755 --- a/docker/scripts/take-ownership.sh +++ b/docker/scripts/take-ownership.sh @@ -3,22 +3,25 @@ REPO_ROOT=$(dirname $(readlink -f $0))/../.. # Export desktop environment shell configuration eval "$($REPO_ROOT/docker/scripts/environment.sh)" -DESKTOP_ENVIRONMENT_VOLUMES=$(cat $REPO_ROOT/docker/scripts/environment.sh | grep echo | grep -v _ID | grep -E "CACHE|STATE|USER_" | cut -b 13- | cut -f 1 -d =) +DESKTOP_ENVIRONMENT_VOLUMES=$(cat $REPO_ROOT/docker/scripts/environment.sh | grep echo | grep -E 'CACHE|STATE|USER_' | grep -v '_ID' | cut -d' ' -f3 | cut -d= -f1) for VOLUME_NAME in $DESKTOP_ENVIRONMENT_VOLUMES; do VOLUME_PATH=$(printenv $VOLUME_NAME) - echo Owning $VOLUME_NAME... + # If the volume path is non-writable + if [ ! -w "$VOLUME_PATH" ]; then + echo Owning $VOLUME_NAME... - # Give the desktop environment user ownership of the volume - docker run \ - --quiet \ - --rm \ - --user root \ - --volume $VOLUME_NAME:$VOLUME_PATH \ - alpine:latest \ - chown -R $DESKTOP_ENVIRONMENT_USER_ID:$DESKTOP_ENVIRONMENT_USER_ID $VOLUME_PATH & + # Give the desktop environment user ownership of the volume + docker run \ + --quiet \ + --rm \ + --user root \ + --volume $VOLUME_NAME:$VOLUME_PATH \ + alpine:latest \ + chown -R $DESKTOP_ENVIRONMENT_USER_ID:$DESKTOP_ENVIRONMENT_USER_ID $VOLUME_PATH & + fi done