Initial commit on l-b-cgi frontend to support multiple instances of image building.

This commit is contained in:
Richard Nelson 2013-05-10 23:03:19 -05:00
parent 39cf68130e
commit 1e4432162c
2 changed files with 10 additions and 7 deletions

View File

@ -33,18 +33,21 @@ then
set -x set -x
fi fi
# Locknum sets the lock enumeration for multiple instances of l-b-cgi
_LOCKNUM="$(expr 1 + $(expr $(date +%M) % ${_INSTANCES}))"
# Checking lock file # Checking lock file
if [ -f /var/lock/live-build-cgi.lock ] if [ -f /var/lock/live-build-cgi-${_LOCKNUM}.lock ]
then then
echo "E: live-build-cgi already/still running." echo "E: live-build-cgi instance ${_LOCKNUM} already/still running."
exit 1 exit 1
fi fi
# Creating lock trap # Creating lock trap
trap "test -f /var/lock/live-build-cgi.lock && rm -f /var/lock/live-build-cgi.lock; exit 0" 0 1 2 3 9 15 trap "test -f /var/lock/live-build-cgi-${_LOCKNUM}.lock && rm -f /var/lock/live-build-cgi-${_LOCKNUM}.lock; exit 0" 0 1 2 3 9 15
# Creating lock file # Creating lock file
touch /var/lock/live-build-cgi.lock touch /var/lock/live-build-cgi-${_LOCKNUM}.lock
# Cleanup old builds: cron should be run at least once per hour to take effect # Cleanup old builds: cron should be run at least once per hour to take effect
if ls "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`* > /dev/null 2>&1 if ls "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`* > /dev/null 2>&1
@ -58,8 +61,7 @@ fi
#if ls "${_TEMPDIR}"/*.build > /dev/null 2>&1 #if ls "${_TEMPDIR}"/*.build > /dev/null 2>&1
if Find_files ${_TEMPDIR}/*.build if Find_files ${_TEMPDIR}/*.build
then then
for _FILE in "${_TEMPDIR}"/*.build _FILE=$(ls "${_TEMPDIR}"/*.build | sort | head -1)
do
# Pull in variables from the build file. # Pull in variables from the build file.
. "${_FILE}" . "${_FILE}"
@ -201,5 +203,4 @@ EOF
rm -rf "${_TEMPDIR}"/"${_BUILD}" rm -rf "${_TEMPDIR}"/"${_BUILD}"
echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: end web build (${_BUILD}: ${_STATUS})." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: end web build (${_BUILD}: ${_STATUS})." >> /var/log/live
done
fi fi

View File

@ -6,6 +6,8 @@ _MODE="debian"
_DEBUG="false" _DEBUG="false"
_INSTANCES="1"
_DESTDIR="/srv/debian-live/build/www" _DESTDIR="/srv/debian-live/build/www"
_TEMPLATES="/usr/share/live/build/templates/cgi/${_MODE}" _TEMPLATES="/usr/share/live/build/templates/cgi/${_MODE}"
_TEMPDIR="/srv/debian-live/build/tmp" _TEMPDIR="/srv/debian-live/build/tmp"