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