scripts/poky-chroot-run: Make sure Xephyr and chrootuid are installed

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3630 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2008-01-30 16:20:55 +00:00
parent 8656619817
commit d9630462e3
1 changed files with 17 additions and 4 deletions

View File

@ -3,7 +3,18 @@
# Runs a command within a Poky chroot # Runs a command within a Poky chroot
# #
set -e XEPHYR=`which Xephyr`
if [ ! -n "$XEPHYR" -o ! -x "$XEPHYR" ]; then
echo "You need to install Xephyr to use $0"
exit 1
fi
CHROOTUID=`which chrootuid`
if [ ! -n "$CHROOTUID" -o ! -x "$CHROOTUID" ]; then
echo "You need to install Xephyr to use $0"
exit 1
fi
case $# in case $# in
0) 0)
@ -26,6 +37,8 @@ esac
test -f "$ROOTFS/.pokychroot" || { echo "$ROOTFS is not setup for use as a Poky chroot." ; exit 1 ;} test -f "$ROOTFS/.pokychroot" || { echo "$ROOTFS is not setup for use as a Poky chroot." ; exit 1 ;}
set -e
# chrootuid doesn't handle relative paths, so ensure that the rootfs path is # chrootuid doesn't handle relative paths, so ensure that the rootfs path is
# absolute # absolute
if test ${ROOTFS:0:1} != /; then if test ${ROOTFS:0:1} != /; then
@ -53,14 +66,14 @@ export PATH=/bin:/usr/bin:/sbin:/usr/sbin
export HOME=/home/$USER export HOME=/home/$USER
if [ ! -f "$ROOTFS/.pokychroot.init" ]; then if [ ! -f "$ROOTFS/.pokychroot.init" ]; then
sudo chrootuid -i "$ROOTFS" $USER /bin/sh -c "/usr/bin/poky-chroot-init" sudo $CHROOTUID -i "$ROOTFS" $USER /bin/sh -c "/usr/bin/poky-chroot-init"
touch "$ROOTFS/.pokychroot.init" touch "$ROOTFS/.pokychroot.init"
fi fi
Xephyr :1 -ac -screen 640x480x16 & $XEPHYR :1 -ac -screen 640x480x16 &
# Go go go! # Go go go!
sudo chrootuid -i "$ROOTFS" $USER "$@" || /bin/true sudo $CHROOTUID -i "$ROOTFS" $USER "$@" || /bin/true
# Trap term signals so we don't kill ourselves # Trap term signals so we don't kill ourselves
trap true TERM trap true TERM