diff options
-rw-r--r-- | utils/fakeroot.sh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/utils/fakeroot.sh b/utils/fakeroot.sh index 48251704..cd0df7b0 100644 --- a/utils/fakeroot.sh +++ b/utils/fakeroot.sh @@ -54,4 +54,10 @@ if [ $# -eq 0 ]; then set -- ${SHELL:-/bin/sh} fi -exec /bin/settrans --chroot /bin/fakeauth "$@" -- / /hurd/fakeroot +# We exec settrans, which execs the "fakeauth" command in the chroot context. +# The `pwd` is evaluated here and now, and that result interpreted inside +# the shell running under fakeauth to chdir there inside the chroot world. +# That shell then execs our arguments as a command line. +exec /bin/settrans --chroot \ + /bin/fakeauth /bin/sh -c "cd `pwd`; exec $*" \ + -- / /hurd/fakeroot |