#!/bin/sh # -*- shell-script -*- [ x"$1" = x-n ] && { TE=echo; shift; } || TE= e2 () { echo "$@" >&2; } ee () { e2 "$@"; exit 1; } run () { e2 "$@"; "$@"; } execrun () { e2 "$@"; exec "$@"; exit 1; } necho () { echo "$@" | tr -d \\012; } # Avoid problems in fc5 with kernel 2.6.18-1.2239.fc5 (etc). tmp. LD_ASSUME_KERNEL=2.6.9 export LD_ASSUME_KERNEL ID=`id | sed 's/(.*//;s/.*=//'` chkroot () { [ x$ID = x0 -o x"$TE" != x ] && return { cut -d: -f2- | sed "s/ *'$/'/g" >&2; } <<. : This command requres root access : Please run either: : sudo $0 $cmd $@ : or : su -c '$0 $cmd $@' . exit 1 } cmd_readme () # some notes and instructions (FIXME no content yet) { cut -d: -f2- < /proc/sys/kernel/vdso /scratchbox/sbin/sbox_ctl start } cmd_xephyr () # run Xephyr using SDK_PC version { pfx=/scratchbox/users/${LOGNAME}/targets/SDK_PC/usr export LD_LIBRARY_PATH=${pfx}/lib; export LD_LIBRARY_PATH exec ${pfx}/bin/Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac } cmd_xvnc () # # run xvnc with suitable args (alternative to xephyr) { rm -f ~tmp/maemovncpw-$USER & # Xvnc is in vnc-server package Xvnc -geometry 800x480 -dpi 72 -ac :2 -depth 16 \ -rfbauth /tmp/maemovncpw-$USER & { sleep 1; echo vvnncc; sleep 1; echo vvnncc; sleep 1; } \ | vncpasswd /tmp/maemovncpw-$USER echo } cmd_view () # # run vncviewer that connects to xvnc... { # vncviewer is in vnc package vncviewer -passwd /tmp/maemovncpw-$USER :2 & echo Now, in terminal where you entered $0 login, enter echo echo ' ' af-sb-init.sh start echo } cmd_login () ## login { if [ x"`cat /proc/sys/kernel/vdso`" = x1 ] then ee run ' ' $0 vdso ' ' as root fi HOME=/home/$USER LANGUAGE=en_GB PAGER=less DISPLAY=:2 export HOME LANGUAGE PAGER DISPLAY execrun /scratchbox/login } # -- [ x"$1" = x ] && { echo echo Usage: $0 ' [args]' echo echo $0 commands available: echo sed -n '/^cmd_/ { s/cmd_/ /; s/ () [ -#]*/ / s/\(.\{11\}\) */\1/p; }' $0 echo echo Commands may be abbreviated down to no ambiguity echo exit 0 } cmd=$1; shift case $cmd in d) cmd=diff ;; esac cc= cp= for m in `sed -n 's/^cmd_\([a-z0-9_]*\) (.*/\1/p' $0` do case $m in $cmd) cp= cc=$cmd cm=$cmd; break ;; $cmd*) cp=$cc; cc="$m $cc"; cm=$m ;; esac done [ x"$cc" = x ] && { echo $0: $cmd -- command not found.; exit 1; } [ x"$cp" != x ] && { echo $0: $cmd -- ambiquous command: matches $cc; exit 1; } cmd=$cm cmd_$cm "$@"