From 092ba549582fd2ea9e8598bfc1678def9731636b Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Wed, 11 Jul 2012 14:41:33 +0000 Subject: Merge branch 'master' of git.sugarlabs.org:sugar-build/sugar-build --- (limited to 'scripts') diff --git a/scripts/find-free-display.c b/scripts/find-free-display.c new file mode 100644 index 0000000..4a07131 --- /dev/null +++ b/scripts/find-free-display.c @@ -0,0 +1,25 @@ +#include +#include + +int main(int argc, char **argv) +{ + int port; + + for (port = 99; port < 1000; port++) { + char display_name[255]; + + sprintf(display_name, ":%d", port); + Display *dpy = XOpenDisplay(display_name); + + if (!dpy) { + printf(display_name); + return 0; + } else { + XCloseDisplay(dpy); + } + } + + printf("No free display found"); + + return 0; +} diff --git a/scripts/run-dogtail-tests b/scripts/run-dogtail-tests index dcef0b8..eeff2ac 100755 --- a/scripts/run-dogtail-tests +++ b/scripts/run-dogtail-tests @@ -3,8 +3,9 @@ scriptsdir=`dirname "$0"` rootdir=`dirname "$scriptsdir"` testsdir=$rootdir/tests +scriptsdir=$rootdir/scripts logsdir=$rootdir/logs -display=:99 +display=`$scriptsdir/find-free-display` resolution=1024x768x16 minver="0.8.0" @@ -23,11 +24,7 @@ fi export SUGAR_LOGGER_LEVEL=debug export GTK_MODULES=gail:atk-bridge -export SUGAR_PROFILE=dogtail - -PROFILE_PATH=~/.sugar/dogtail - -rm -rf $PROFILE_PATH +export SUGAR_DOGTAIL=yes xinit $scriptsdir/xinitrc -- $xserver & xinitpid=$! @@ -45,7 +42,7 @@ else LOGFILE=$logsdir/test.tar fi -cd $PROFILE_PATH/logs +cd ~/.sugar/dogtail/logs tar cvf $LOGFILE *.log exit $result diff --git a/scripts/shell/start-sugar b/scripts/shell/start-sugar index 86766fa..0bb1b5c 100755 --- a/scripts/shell/start-sugar +++ b/scripts/shell/start-sugar @@ -2,5 +2,6 @@ shelldir=`dirname "$0"` scriptsdir=`dirname "$shelldir"` +display=`$scriptsdir/find-free-display` -xinit $scriptsdir/xinitrc -- :99 +xinit $scriptsdir/xinitrc -- $display diff --git a/scripts/xinitrc b/scripts/xinitrc index 078d52b..14f5b1f 100644 --- a/scripts/xinitrc +++ b/scripts/xinitrc @@ -7,16 +7,24 @@ unset SESSION_MANAGER SCRIPTS_DIR=`dirname "$0"` ROOT_DIR=`dirname "$SCRIPTS_DIR"` -if [ -f $ROOT_DIR/config ]; then - source $ROOT_DIR/config +if [ ! -f $ROOT_DIR/config ]; then + touch $ROOT_DIR/config fi -echo $OUTPUT +if [ ! -z $SUGAR_PROFILE ]; then + grep -q PROFILE $ROOT_DIR/config + if [ $? -eq 1 ]; then + randomstring=`> $ROOT_DIR/config + fi +fi + +source $ROOT_DIR/config # Sugar doesn't handle multiple outputs properly. To avoid issues we keep the # first output in the list returned by xrandr and turn off everything else. -OUTPUTS=`scripts/list-outputs` +OUTPUTS=`$SCRIPTS_DIR/list-outputs` for output in $OUTPUTS do @@ -30,14 +38,12 @@ do fi done -if [ ! -z $RESOLUTION ]; then - xrandr -s $RESOLUTION -fi - -if [ -z $SUGAR_SESSION ]; then - export SUGAR_SESSION=yes -else - export SUGAR_PROFILE=development +echo $SUGAR_DOGTAIL +if [ ! -z $SUGAR_DOGTAIL ]; then + rm -rf ~/.sugar/dogtail + export SUGAR_PROFILE=dogtail +elif [ ! -z $PROFILE ]; then + export SUGAR_PROFILE=$PROFILE fi eval `ssh-agent -s` -- cgit v0.9.1