From 3215a11a5c4e299378d7a807b27c9e75e2140715 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 12 May 2002 21:14:15 +0000 Subject: 2002-05-12 Roland McGrath * fakeroot.sh: Inside the chroot'd fakeauth environment, run a shell that chdir's to what was our original current directory (by name) before exec'ing the user's command. --- utils/fakeroot.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'utils') 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 -- cgit v1.2.3