#!@SHELL@ # This script first starts faked (the daemon), and then it will run # the requested program with fake root privileges. usage () { cat - >&2 <&2 "fakeroot: database file \`$1' does not exist." fi ;; -s) shift FAKEDOPTS=$FAKEDOPTS" --save-file $1" WAITINTRAP=1 ;; -u|--unknown-is-real) FAKEDOPTS=$FAKEDOPTS" --unknown-is-real" FAKED_MODE="unknown-is-real" ;; -b|--fd-base) shift FAKEROOT_FD_BASE="$1" ;; -v|--version) echo "fakeroot version @VERSION@" exit 0 ;; -h|--help) usage ;; esac shift done shift #get rid of the '--' # make sure the preload is available if [ -n "$PATHS" ] then for dir in `echo $PATHS | sed 's/:/ /g'` do if test -r "$dir/$LIB" then libfound=yes fi done else if test -r "$LIB" then libfound=yes fi fi if test $libfound = no then echo >&2 "fakeroot: preload library not found, aborting." exit 1 fi unset FAKEROOTKEY KEY_PID=`eval $FAKED $FAKEDOPTS $PIPEIN` FAKEROOTKEY=`echo $KEY_PID|cut -d: -f1` PID=`echo $KEY_PID|cut -d: -f2` if [ "$WAITINTRAP" -eq 0 ]; then trap "kill -s @signal@ $PID" EXIT INT else trap "kill -s @signal@ $PID ; wait $PID >/dev/null 2>&1" EXIT INT fi if test -z "$FAKEROOTKEY" || test -z "$PID"; then echo >&2 "fakeroot: error while starting the \`faked' daemon." exit 1 fi # Keep other library paths if test -n "$LD_LIBRARY_PATH"; then PATHS="$PATHS:$LD_LIBRARY_PATH" fi # ...and preloaded libs if test -n "$LD_PRELOAD"; then LIB="$LIB $LD_PRELOAD" fi export FAKEROOT_FD_BASE if test -z "$*"; then FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" ${SHELL:-/bin/sh} RESULT=$? else FAKEROOTKEY=$FAKEROOTKEY LD_LIBRARY_PATH="$PATHS" LD_PRELOAD="$LIB" "$@" RESULT=$? fi exit $RESULT