diff --git a/archivebox/tests/test_setup_script.py b/archivebox/tests/test_setup_script.py index f6f9f3a2..43b95f0f 100644 --- a/archivebox/tests/test_setup_script.py +++ b/archivebox/tests/test_setup_script.py @@ -32,6 +32,7 @@ def test_setup_script_gives_archivebox_user_ownership_of_runtime_parent_dirs(): assert 'chown "$ARCHIVEBOX_SYSTEM_UID:$ARCHIVEBOX_SYSTEM_GID" "$path"' in script assert '"$HOME/.config/uv"' in script assert 'runuser -u "$ARCHIVEBOX_SYSTEM_USER"' in script + assert '(cd "$HOME" && runuser' in script assert 'run_as_archivebox_user "$BOOTSTRAP_UV_BINARY" tool run' in script assert 'run_as_archivebox_user "$UV_BINARY" --no-config tool install' in script diff --git a/bin/setup.sh b/bin/setup.sh index c6032580..211b1515 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -130,9 +130,9 @@ run_as_archivebox_user() { fi if command -v runuser >/dev/null 2>&1; then - runuser -u "$ARCHIVEBOX_SYSTEM_USER" -- env HOME="$HOME" PATH="$PATH" ABXPKG_LIB_DIR="$ABXPKG_LIB_DIR" "$@" + (cd "$HOME" && runuser -u "$ARCHIVEBOX_SYSTEM_USER" -- env HOME="$HOME" PATH="$PATH" ABXPKG_LIB_DIR="$ABXPKG_LIB_DIR" "$@") else - sudo -u "$ARCHIVEBOX_SYSTEM_USER" env HOME="$HOME" PATH="$PATH" ABXPKG_LIB_DIR="$ABXPKG_LIB_DIR" "$@" + (cd "$HOME" && sudo -u "$ARCHIVEBOX_SYSTEM_USER" env HOME="$HOME" PATH="$PATH" ABXPKG_LIB_DIR="$ABXPKG_LIB_DIR" "$@") fi }