summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/bitbake/bin/toaster
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/bitbake/bin/toaster')
-rwxr-xr-ximport-layers/yocto-poky/bitbake/bin/toaster314
1 files changed, 0 insertions, 314 deletions
diff --git a/import-layers/yocto-poky/bitbake/bin/toaster b/import-layers/yocto-poky/bitbake/bin/toaster
deleted file mode 100755
index ed365ee82..000000000
--- a/import-layers/yocto-poky/bitbake/bin/toaster
+++ /dev/null
@@ -1,314 +0,0 @@
-#!/bin/echo ERROR: This script needs to be sourced. Please run as .
-
-# toaster - shell script to start Toaster
-
-# Copyright (C) 2013-2015 Intel Corp.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see http://www.gnu.org/licenses/.
-
-HELP="
-Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild]
- Optional arguments:
- [nobuild] Setup the environment for capturing builds with toaster but disable managed builds
- [noweb] Setup the environment for capturing builds with toaster but don't start the web server
- [webport] Set the development server (default: localhost:8000)
-"
-
-custom_extention()
-{
- custom_extension=$BBBASEDIR/lib/toaster/orm/fixtures/custom_toaster_append.sh
- if [ -f $custom_extension ] ; then
- $custom_extension $*
- fi
-}
-
-databaseCheck()
-{
- retval=0
- # you can always add a superuser later via
- # ../bitbake/lib/toaster/manage.py createsuperuser --username=<ME>
- $MANAGE migrate --noinput || retval=1
-
- if [ $retval -eq 1 ]; then
- echo "Failed migrations, aborting system start" 1>&2
- return $retval
- fi
- # Make sure that checksettings can pick up any value for TEMPLATECONF
- export TEMPLATECONF
- $MANAGE checksettings --traceback || retval=1
-
- if [ $retval -eq 1 ]; then
- printf "\nError while checking settings; aborting\n"
- return $retval
- fi
-
- return $retval
-}
-
-webserverKillAll()
-{
- local pidfile
- if [ -f ${BUILDDIR}/.toastermain.pid ] ; then
- custom_extention web_stop_postpend
- else
- custom_extention noweb_stop_postpend
- fi
- for pidfile in ${BUILDDIR}/.toastermain.pid ${BUILDDIR}/.runbuilds.pid; do
- if [ -f ${pidfile} ]; then
- pid=`cat ${pidfile}`
- while kill -0 $pid 2>/dev/null; do
- kill -SIGTERM $pid 2>/dev/null
- sleep 1
- done
- rm ${pidfile}
- fi
- done
-}
-
-webserverStartAll()
-{
- # do not start if toastermain points to a valid process
- if ! cat "${BUILDDIR}/.toastermain.pid" 2>/dev/null | xargs -I{} kill -0 {} ; then
- retval=1
- rm "${BUILDDIR}/.toastermain.pid"
- fi
-
- retval=0
-
- # check the database
- databaseCheck || return 1
-
- echo "Starting webserver..."
-
- $MANAGE runserver --noreload "$ADDR_PORT" \
- </dev/null >>${BUILDDIR}/toaster_web.log 2>&1 \
- & echo $! >${BUILDDIR}/.toastermain.pid
-
- sleep 1
-
- if ! cat "${BUILDDIR}/.toastermain.pid" | xargs -I{} kill -0 {} ; then
- retval=1
- rm "${BUILDDIR}/.toastermain.pid"
- else
- echo "Toaster development webserver started at http://$ADDR_PORT"
- echo -e "\nYou can now run 'bitbake <target>' on the command line and monitor your build in Toaster.\nYou can also use a Toaster project to configure and run a build.\n"
- custom_extention web_start_postpend $ADDR_PORT
- fi
-
- return $retval
-}
-
-INSTOPSYSTEM=0
-
-# define the stop command
-stop_system()
-{
- # prevent reentry
- if [ $INSTOPSYSTEM -eq 1 ]; then return; fi
- INSTOPSYSTEM=1
- webserverKillAll
- # unset exported variables
- unset TOASTER_DIR
- unset BITBAKE_UI
- unset BBBASEDIR
- trap - SIGHUP
- #trap - SIGCHLD
- INSTOPSYSTEM=0
-}
-
-verify_prereq() {
- # Verify Django version
- reqfile=$(python3 -c "import os; print(os.path.realpath('$BBBASEDIR/toaster-requirements.txt'))")
- exp='s/Django\([><=]\+\)\([^,]\+\),\([><=]\+\)\(.\+\)/'
- # expand version parts to 2 digits to support 1.10.x > 1.8
- # (note:helper functions hard to insert in-line)
- exp=$exp'import sys,django;'
- exp=$exp'version=["%02d" % int(n) for n in django.get_version().split(".")];'
- exp=$exp'vmin=["%02d" % int(n) for n in "\2".split(".")];'
- exp=$exp'vmax=["%02d" % int(n) for n in "\4".split(".")];'
- exp=$exp'sys.exit(not (version \1 vmin and version \3 vmax))'
- exp=$exp'/p'
- if ! sed -n "$exp" $reqfile | python3 - ; then
- req=`grep ^Django $reqfile`
- echo "This program needs $req"
- echo "Please install with pip3 install -r $reqfile"
- return 2
- fi
-
- return 0
-}
-
-# read command line parameters
-if [ -n "$BASH_SOURCE" ] ; then
- TOASTER=${BASH_SOURCE}
-elif [ -n "$ZSH_NAME" ] ; then
- TOASTER=${(%):-%x}
-else
- TOASTER=$0
-fi
-
-export BBBASEDIR=`dirname $TOASTER`/..
-MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
-OE_ROOT=`dirname $TOASTER`/../..
-
-# this is the configuraton file we are using for toaster
-# we are using the same logic that oe-setup-builddir uses
-# (based on TEMPLATECONF and .templateconf) to determine
-# which toasterconf.json to use.
-# note: There are a number of relative path assumptions
-# in the local layers that currently make using an arbitrary
-# toasterconf.json difficult.
-
-. $OE_ROOT/.templateconf
-if [ -n "$TEMPLATECONF" ]; then
- if [ ! -d "$TEMPLATECONF" ]; then
- # Allow TEMPLATECONF=meta-xyz/conf as a shortcut
- if [ -d "$OE_ROOT/$TEMPLATECONF" ]; then
- TEMPLATECONF="$OE_ROOT/$TEMPLATECONF"
- fi
- fi
-fi
-
-unset OE_ROOT
-
-
-WEBSERVER=1
-export TOASTER_BUILDSERVER=1
-ADDR_PORT="localhost:8000"
-unset CMD
-for param in $*; do
- case $param in
- noweb )
- WEBSERVER=0
- ;;
- nobuild )
- TOASTER_BUILDSERVER=0
- ;;
- start )
- CMD=$param
- ;;
- stop )
- CMD=$param
- ;;
- webport=*)
- ADDR_PORT="${param#*=}"
- # Split the addr:port string
- ADDR=`echo $ADDR_PORT | cut -f 1 -d ':'`
- PORT=`echo $ADDR_PORT | cut -f 2 -d ':'`
- # If only a port has been speified then set address to localhost.
- if [ $ADDR = $PORT ] ; then
- ADDR_PORT="localhost:$PORT"
- fi
- ;;
- --help)
- echo "$HELP"
- return 0
- ;;
- *)
- echo "$HELP"
- return 1
- ;;
-
- esac
-done
-
-if [ `basename \"$0\"` = `basename \"${TOASTER}\"` ]; then
- echo "Error: This script needs to be sourced. Please run as . $TOASTER"
- return 1
-fi
-
-verify_prereq || return 1
-
-# We make sure we're running in the current shell and in a good environment
-if [ -z "$BUILDDIR" ] || ! which bitbake >/dev/null 2>&1 ; then
- echo "Error: Build environment is not setup or bitbake is not in path." 1>&2
- return 2
-fi
-
-# this defines the dir toaster will use for
-# 1) clones of layers (in _toaster_clones )
-# 2) the build dir (in build)
-# 3) the sqlite db if that is being used.
-# 4) pid's we need to clean up on exit/shutdown
-export TOASTER_DIR=`dirname $BUILDDIR`
-export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOASTER_DIR"
-
-# Determine the action. If specified by arguments, fine, if not, toggle it
-if [ "$CMD" = "start" ] ; then
- if [ -n "$BBSERVER" ]; then
- echo " Toaster is already running. Exiting..."
- return 1
-fi
-elif [ "$CMD" = "" ]; then
- echo "No command specified"
- echo "$HELP"
- return 1
-fi
-
-echo "The system will $CMD."
-
-# Execute the commands
-custom_extention toaster_prepend $CMD $ADDR_PORT
-
-case $CMD in
- start )
- # check if addr:port is not in use
- if [ "$CMD" == 'start' ]; then
- if [ $WEBSERVER -gt 0 ]; then
- $MANAGE checksocket "$ADDR_PORT" || return 1
- fi
- fi
-
- # Create configuration file
- conf=${BUILDDIR}/conf/local.conf
- line='INHERIT+="toaster buildhistory"'
- grep -q "$line" $conf || echo $line >> $conf
-
- if [ $WEBSERVER -eq 0 ] ; then
- # Do not update the database for "noweb" unless
- # it does not yet exist
- if [ ! -f "$TOASTER_DIR/toaster.sqlite" ] ; then
- if ! databaseCheck; then
- echo "Failed ${CMD}."
- return 4
- fi
- fi
- custom_extention noweb_start_postpend $ADDR_PORT
- fi
- if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
- echo "Failed ${CMD}."
- return 4
- fi
- export BITBAKE_UI='toasterui'
- if [ $TOASTER_BUILDSERVER -eq 1 ] ; then
- $MANAGE runbuilds \
- </dev/null >>${BUILDDIR}/toaster_runbuilds.log 2>&1 \
- & echo $! >${BUILDDIR}/.runbuilds.pid
- else
- echo "Toaster build server not started."
- fi
-
- # set fail safe stop system on terminal exit
- trap stop_system SIGHUP
- echo "Successful ${CMD}."
- custom_extention toaster_postpend $CMD $ADDR_PORT
- return 0
- ;;
- stop )
- stop_system
- echo "Successful ${CMD}."
- ;;
-esac
-custom_extention toaster_postpend $CMD $ADDR_PORT
-
OpenPOWER on IntegriCloud