Update l-b-cgi frontend to support new git config structure.

This commit is contained in:
Richard Nelson 2012-12-14 17:40:16 -06:00
parent ba1ded2f1f
commit 9687f85695
4 changed files with 32 additions and 28 deletions

View File

@ -64,8 +64,7 @@ else
_LB_CGIPACKAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])cgipackages=[-0-9a-zA-Z. _+]+' | cut -f 2 -d '=' | head -n1)
# CGI Config for git
_LB_CONFIG=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])config=[-a-z.]+' | cut -f 2 -d '=' | head -n1)
_LB_CONFIG="git://live.debian.net/git/${_LB_CONFIG}"
_LB_CONFIG=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])config=[-a-z]+' | cut -f 2 -d '=' | head -n1)
# Standard options
LB_BINARY_IMAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])binary_images=[-a-z]+' | cut -f 2 -d '=' | head -n1)

View File

@ -64,46 +64,49 @@ then
. "${_FILE}"
# Clone the git config to target build directory
git clone ${_LB_CONFIG} "${_TEMPDIR}"/"${_BUILD}" >> /var/log/live
git clone ${_LB_GIT} "${_TEMPDIR}"/"${_BUILD}" >> /var/log/live
_ERRORGIT="${?}"
# Now set a variable for the correct build path
_BUILD_PATH="${_TEMPDIR}/${_BUILD}/images/${_LB_CONFIG}"
# Drop out some build data for information if something goes wrong.
echo "`date +%b\ %d\ %H:%M:%S` ${_HOSTNAME} live-build-cgi: begin web build (${_BUILD})." >> /var/log/live
# Creating directory for the config/package-lists
mkdir -p "${_TEMPDIR}"/"${_BUILD}"/config/package-lists
mkdir -p "${_BUILD_PATH}"/config/package-lists
# Add cgipackages.list.chroot
if [ -n "${_LB_CGIPACKAGES}" ]
then
echo "${_LB_CGIPACKAGES}" > "${_TEMPDIR}"/"${_BUILD}"/config/package-lists/cgipackages.list.chroot
echo "${_LB_CGIPACKAGES}" > "${_BUILD_PATH}"/config/package-lists/cgipackages.list.chroot
fi
_DATE_START="`date -R`"
echo "Begin: ${_DATE_START}" > "${_TEMPDIR}"/"${_BUILD}"/log
echo "Begin: ${_DATE_START}" > "${_BUILD_PATH}"/log
# Generating config here
if [ "${_ERRORGIT}" -eq "0" ]
then
cd "${_TEMPDIR}"/"${_BUILD}"
cd "${_BUILD_PATH}"
# Do config with git and stack on config file params to build
lb config --distribution "${LB_DISTRIBUTION}" --architectures "${LB_ARCHITECTURES}" --archive-areas "${LB_ARCHIVE_AREAS}" --chroot-filesystem "${LB_CHROOT_FILESYSTEM}" --linux-flavours "${LB_LINUX_FLAVOURS}" --security "${LB_SECURITY}" --apt-indices "${LB_APT_INDICES}" --bootappend-install "${LB_BOOTAPPEND_INSTALL}" --bootappend-live "${LB_BOOTAPPEND_LIVE}" --bootloader "${LB_BOOTLOADER}" --debian-installer "${LB_DEBIAN_INSTALLER}" --iso-application "${LB_ISO_APPLICATION}" --iso-preparer "${LB_ISO_PREPARER}" --iso-publisher "${LB_ISO_PUBLISHER}" --iso-volume "${LB_ISO_VOLUME}" --memtest "${LB_MEMTEST}" --net-root-path "${LB_NET_ROOT_PATH}" --net-root-server "${LB_NET_ROOT_SERVER}" --source-images "${LB_SOURCE_IMAGES}" --source "${LB_SOURCE}"
_ERRORCONFIG="${?}"
else
echo "Config stage skipped. The git clone produced an error: ${_ERRORGIT}" > "${_TEMPDIR}"/"${_BUILD}"/log
echo "Config stage skipped. The git clone produced an error: ${_ERRORGIT}" > "${_BUILD_PATH}"/log
fi
# Run build if config went ok
if [ "${_ERRORCONFIG}" -eq "0" ]
then
lb build >> "${_TEMPDIR}"/"${_BUILD}"/log 2>&1
lb build >> "${_BUILD_PATH}"/log 2>&1
_ERRORBUILD="${?}"
else
echo "Build stage skipped. Config produced an error: ${_ERRORCONFIG}" > "${_TEMPDIR}"/"${_BUILD}"/log
echo "Build stage skipped. Config produced an error: ${_ERRORCONFIG}" > "${_BUILD_PATH}"/log
fi
_DATE_END="`date -R`"
echo "End: ${_DATE_END}" >> "${_TEMPDIR}"/"${_BUILD}"/log
echo "End: ${_DATE_END}" >> "${_BUILD_PATH}"/log
# Creating image directory
mkdir -p "${_DESTDIR}"/"${_BUILD}"
@ -139,23 +142,23 @@ EOF
# Moving binary image
#if ls "${_TEMPDIR}"/"${_BUILD}"/binary*.* > /dev/null 2>&1
if Find_files ${_TEMPDIR}/${_BUILD}/binary*.*
if Find_files ${_BUILD_PATH}/binary*.*
then
mv "${_TEMPDIR}"/"${_BUILD}"/binary*.* "${_DESTDIR}"/"${_BUILD}"
mv "${_BUILD_PATH}"/binary*.* "${_DESTDIR}"/"${_BUILD}"
fi
# Moving source image
#if ls "${_TEMPDIR}"/"${_BUILD}"/source.* > /dev/null 2>&1
if Find_files ${_TEMPDIR}/${_BUILD}/source.*
if Find_files ${_BUILD_PATH}/source.*
then
mv "${_TEMPDIR}"/"${_BUILD}"/source.* "${_DESTDIR}"/"${_BUILD}"
mv "${_BUILD_PATH}"/source.* "${_DESTDIR}"/"${_BUILD}"
fi
# Moving build
mv "${_TEMPDIR}"/"${_BUILD}".build "${_DESTDIR}"/"${_BUILD}"/build
# Moving log
mv "${_TEMPDIR}"/"${_BUILD}"/log "${_DESTDIR}"/"${_BUILD}"
mv "${_BUILD_PATH}"/log "${_DESTDIR}"/"${_BUILD}"
# Generating md5sum
cd "${_DESTDIR}"/"${_BUILD}"
@ -167,21 +170,21 @@ EOF
# Unmounting devpts-live
#if ls "${_TEMPDIR}"/"${_BUILD}"/chroot/dev/pts/* > /dev/null 2>&1
if Find_files ${_TEMPDIR}/${_BUILD}/chroot/dev/pts/*
if Find_files ${_BUILD_PATH}/chroot/dev/pts/*
then
umount "${_TEMPDIR}"/${_BUILD}/chroot/dev/pts
umount "${_BUILD_PATH}"/chroot/dev/pts
fi
# Unmounting proc
if [ -f "${_TEMPDIR}"/"${_BUILD}"/chroot/proc/version ]
if [ -f "${_BUILD_PATH}"/chroot/proc/version ]
then
umount "${_TEMPDIR}"/"${_BUILD}"/chroot/proc
umount "${_BUILD_PATH}"/chroot/proc
fi
# Unmounting sysfs
if [ -d "${_TEMPDIR}"/"${_BUILD}"/chroot/sys/kernel ]
if [ -d "${_BUILD_PATH}"/chroot/sys/kernel ]
then
umount "${_TEMPDIR}"/${_BUILD}/chroot/sys
umount "${_BUILD_PATH}"/chroot/sys
fi
# Removing build directory

View File

@ -11,3 +11,5 @@ _TEMPLATES="/usr/share/live/build/templates/cgi/${_MODE}"
_TEMPDIR="/srv/debian-live/build/tmp"
_SERVER="http://live.debian.net/build"
_LB_GIT="git://live-systems.org/git/live-images.git"

View File

@ -46,12 +46,12 @@
<td><label for="Config">--config:</label> </td>
<td>
<select id="Config" name="config" size="1" >
<option value="debian-gnome-desktop.git">GNOME Desktop</option>
<option value="debian-kde-desktop.git">KDE Desktop</option>
<option value="debian-lxde-desktop.git">LXDE Desktop</option>
<option value="debian-rescue.git">Rescue</option>
<option selected value="debian-standard.git">Standard</option>
<option value="debian-xfce-desktop.git">Xfce Desktop</option>
<option value="gnome-desktop">GNOME Desktop</option>
<option value="kde-desktop">KDE Desktop</option>
<option value="lxde-desktop">LXDE Desktop</option>
<option value="rescue">Rescue</option>
<option selected value="standard">Standard</option>
<option value="xfce-desktop">Xfce Desktop</option>
</select>
</td>
</tr>