1 #! /bin/bash 2 # 3 # Copyright (C) 2010 Igalia S.L. All rights reserved. 4 # 5 # This library is free software; you can redistribute it and/or 6 # modify it under the terms of the GNU Library General Public 7 # License as published by the Free Software Foundation; either 8 # version 2 of the License, or (at your option) any later version. 9 # 10 # This library is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 # Library General Public License for more details. 14 # 15 # You should have received a copy of the GNU Library General Public License 16 # along with this library; see the file COPYING.LIB. If not, write to 17 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 # Boston, MA 02110-1301, USA. 19 20 exec 2>&1 21 22 : ${BUILDBOT_CONFIG:=/etc/daemontools-buildbot.conf} 23 24 # Read configuration file 25 [ -r "${BUILDBOT_CONFIG}" ] && . "${BUILDBOT_CONFIG}" 26 27 # Expand all "env_*" environment variables 28 for varname in ${!env_*} ; do 29 eval "export ${varname#env_}=\${${varname}}" 30 done 31 32 33 if ! [ "${buildbot_path}" ] ; then 34 echo "No \${buildbot_path} defined! (will sleep for 5 minutes)" 35 sleep 300 36 exit 111 37 fi 38 39 40 if ! [ "${WEBKIT_TESTFONTS}" ] ; then 41 echo "No \${WEBKIT_TESTFONTS} environment variable! (will sleep for 5 minutes)" 42 sleep 300 43 exit 111 44 fi 45 46 47 if [ "${coredump_output:=''}" ] ; then 48 # Ensure that the output directory exists. 49 if [[ ! -d ${crashmon_output} ]] ; then 50 mkdir -p "${crashmon_output}" 51 fi 52 53 ulimit -c "${crashmon_max_size:=unlimited}" 54 fi 55 56 57 if [ "${ccache_path}" ] ; then 58 export PATH="${ccache_path}:${PATH}" 59 fi 60 61 : ${buildbot_user:=${USER}} 62 63 cd "${buildbot_path}" 64 exec /usr/bin/env - \ 65 TERM=dumb \ 66 TZ=PST8PDT \ 67 PATH="${PATH}" \ 68 SHELL=/bin/bash \ 69 LANG=en_US.UTF-8 \ 70 USER="${buildbot_user}" \ 71 LOGNAME="${buildbot_user}" \ 72 HOME="/home/${buildbot_user}" \ 73 DISPLAY="${xvfb_display:-':10'}" \ 74 MAIL="/var/mail/${buildbot_user}" \ 75 /usr/bin/setuidgid "${buildbot_user}" \ 76 /usr/bin/twistd -noy buildbot.tac 77 78