diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster index 72eae64166..d409554d13 100755 --- a/bitbake/bin/toaster +++ b/bitbake/bin/toaster @@ -128,7 +128,7 @@ stop_bitbake() { BBSERVER=0.0.0.0:-1 bitbake -m unset BBSERVER # force stop any misbehaving bitbake server - lsof bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill + lsof -t bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill } verify_prereq() { @@ -177,7 +177,7 @@ if [ -n "$TEMPLATECONF" ]; then fi if [ ! -d "$TEMPLATECONF" ]; then echo >&2 "Error: '$TEMPLATECONF' must be a directory containing toasterconf.json" - [ "$TOASTER_MANAGED" = '1' ] && exit 1 || return 1 + return 1 fi fi fi @@ -189,7 +189,7 @@ fi if [ ! -f $TOASTER_CONF ]; then echo "$TOASTER_CONF configuration file not found. Set TOASTER_CONF to specify file or fix .templateconf" - [ "$TOASTER_MANAGED" = '1' ] && exit 1 || return 1 + return 1 fi # this defines the dir toaster will use for @@ -204,7 +204,7 @@ export TOASTER_DIR=`pwd` NOTOASTERUI=0 WEBSERVER=1 WEB_PORT="8000" - +unset CMD for param in $*; do case $param in noui ) @@ -213,6 +213,12 @@ for param in $*; do noweb ) WEBSERVER=0 ;; + start ) + CMD=$param + ;; + stop ) + CMD=$param + ;; webport=*) WEB_PORT="${param#*=}" esac @@ -220,7 +226,7 @@ done if [ `basename \"$0\"` = `basename \"${TOASTER}\"` ]; then echo "Error: This script needs to be sourced. Please run as . $TOASTER" - exit 1 + return 1 fi if [ "$1" = 'restart-bitbake' ] ; then @@ -240,22 +246,6 @@ if [ -z "$BUILDDIR" ] || ! which bitbake >/dev/null 2>&1 ; then return 2 fi -# this is the configuraton file we are using for toaster -# note default is assuming yocto. Override this if you are -# running in a pure OE environment and use the toasterconf.json -# in meta/conf/toasterconf.json -# note: for future there are a number of relative path assumptions -# in the local layers that currently prevent using an arbitrary -# toasterconf.json -if [ "$TOASTER_CONF" = "" ]; then - TOASTER_CONF="$(dirname $TOASTER)/../../meta-yocto/conf/toasterconf.json" - export TOASTER_CONF=$(python -c "import os; print os.path.realpath('$TOASTER_CONF')") -fi -if [ ! -f $TOASTER_CONF ]; then - echo "$TOASTER_CONF configuration file not found." - echo " set TOASTER_CONF to specify a path" - return 1 -fi # this defines the dir toaster will use for # 1) clones of layers (in _toaster_clones ) # 2) the build dir (in build) @@ -267,9 +257,12 @@ fi export TOASTER_DIR=`dirname $BUILDDIR` # Determine the action. If specified by arguments, fine, if not, toggle it -if [ "$1" = 'start' ] || [ "$1" = 'stop' ]; then - CMD="$1" -else +if [ "$CMD" = "start" ] ; then + if [ -n "$BBSERVER" ]; then + echo " Toaster is already running. Exiting..." + return 1 +fi +elif [ "$CMD" = "" ]; then if [ -z "$BBSERVER" ]; then CMD="start" else