1 #!/bin/sh 2 # Usage: user-do [ --root [ --dev ] ] [ <command and options> ] 3 4 # Configuration: 5 if [ -e userinstall-defaults ]; then 6 . "$PWD/userinstall-defaults" 7 elif [ -e /etc/default/userinstall ]; then 8 . /etc/default/userinstall 9 else 10 echo "No defaults found for userinstall." 11 exit 1 12 fi 13 14 if [ "$1" = '--root' ]; then 15 shift 1 16 mount -o bind /proc "$PACKAGEROOT/proc" 17 mount -o bind /sys "$PACKAGEROOT/sys" 18 if [ "$1" = '--dev' ]; then 19 DEV=$1 20 shift 1 21 if [ -e "$PACKAGEROOT/dev.orig" ]; then 22 echo "Devices may already be defined for the installation." 23 else 24 if [ -e "$PACKAGEROOT/dev" ]; then 25 mv "$PACKAGEROOT/dev" "$PACKAGEROOT/dev.orig" 26 fi 27 if [ ! -e "$PACKAGEROOT/dev" ]; then 28 mkdir "$PACKAGEROOT/dev" 29 fi 30 mount -o bind /dev "$PACKAGEROOT/dev" 31 fi 32 fi 33 chroot "$PACKAGEROOT" $* 34 umount "$PACKAGEROOT/proc" 35 umount "$PACKAGEROOT/sys" 36 if [ "$DEV" ]; then 37 umount "$PACKAGEROOT/dev" 38 rmdir "$PACKAGEROOT/dev" 39 if [ -e "$PACKAGEROOT/dev.orig" ]; then 40 mv "$PACKAGEROOT/dev.orig" "$PACKAGEROOT/dev" 41 fi 42 fi 43 else 44 fakeroot fakechroot $FAKECHROOT_OPTIONS chroot "$PACKAGEROOT" $* 45 fi