Adding initial live-build-cron package.

This commit is contained in:
Daniel Baumann 2011-07-15 20:31:44 +02:00
parent e24497b723
commit 7e4c34b6f2
16 changed files with 1272 additions and 2 deletions

View File

@ -4,7 +4,7 @@ SHELL := sh -e
LANGUAGES = $(shell cd manpages/po && ls) LANGUAGES = $(shell cd manpages/po && ls)
SCRIPTS = cgi/* functions/* examples/*/*.sh examples/auto/* scripts/*.sh scripts/*/* SCRIPTS = cgi/* cron/* functions/* examples/*/*.sh examples/auto/* scripts/*.sh scripts/*/*
all: build all: build
@ -46,6 +46,7 @@ install:
# Installing executables # Installing executables
mkdir -p $(DESTDIR)/usr/bin mkdir -p $(DESTDIR)/usr/bin
mv $(DESTDIR)/usr/share/live/build/scripts/build/lb $(DESTDIR)/usr/share/live/build/scripts/build/live-build $(DESTDIR)/usr/bin mv $(DESTDIR)/usr/share/live/build/scripts/build/lb $(DESTDIR)/usr/share/live/build/scripts/build/live-build $(DESTDIR)/usr/bin
cp cron/live-* $(DESTDIR)/usr/bin
# Installing documentation # Installing documentation
mkdir -p $(DESTDIR)/usr/share/doc/live-build mkdir -p $(DESTDIR)/usr/share/doc/live-build

5
cron/TODO Normal file
View File

@ -0,0 +1,5 @@
* add headers to log with build date and versions.
* send summary mails to debian-live@l.d.o.
* do not hardcode git urls.
* add support for git branches.
* add support for git snapshot packages.

341
cron/live-build-cron-images Executable file
View File

@ -0,0 +1,341 @@
#!/bin/sh
## live-build-cron-images(7) - FIXME
## Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org>
##
## 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 3 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/>.
##
## The complete text of the GNU General Public License
## can be found in /usr/share/common-licenses/GPL-3 file.
#set -e
Init ()
{
if [ -e /etc/live/build-cron.conf ]
then
. /etc/live/build-cron.conf
fi
if ls /etc/live/build-cron.d/* > /dev/null 2>&1
then
for _FILE in /etc/live/build-cron.d/*
do
. ${_FILE}
done
fi
if [ "${LIVE_BUILD_CRON_IMAGES}" != "true" ]
then
exit 0
fi
if [ -z "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}" ]
then
exit 1
fi
# FIXME: don't hardcode
BUILDS="daily"
DATE="$(date +%Y%m%d)"
ARCHITECTURE="$(dpkg --print-architecture)"
eval DISTRIBUTIONS="$`echo LIVE_BUILD_CRON_IMAGES_$(echo ${BUILDS} | tr [a-z] [A-Z])_DISTRIBUTIONS`"
eval FLAVOURS="$`echo LIVE_BUILD_CRON_IMAGES_$(echo ${BUILDS} | tr [a-z] [A-Z])_FLAVOURS`"
}
Setup ()
{
TMPDIR="$(mktemp -d -t live-build-cron-images.XXXXXXXX)"
case "${LIVE_BUILD_CRON_IMAGES_BUILD}" in
git)
cd "${TMPDIR}"
git clone git://live.debian.net/git/live-build.git
git checkout debian-old-2.0
LB_BASE="${TMPDIR}/live-build"
export LB_BASE
PATH="${PATH}:${TMPDIR}/live-build/scripts/build"
export PATH
;;
release)
# live-build
if [ -n "${LIVE_BUILD}" ]
then
if [ -x "$(which dget 2>/dev/null)" ]
then
dget "http://live.debian.net/archive/packages/live-build/${LIVE_BUILD}/live-build_${LIVE_BUILD}.dsc"
dpkg-source -x live-build_${LIVE_BUILD}.dsc
LB_BASE="${TMPDIR}/live-build-$(echo ${LIVE_BUILD} | awk -F- '{ print $1 }')"
export LB_BASE
PATH="${PATH}:${TMPDIR}/live-build-$(echo ${LIVE_BUILD} | awk -F- '{ print $1 }')/scripts/build"
export PATH
else
echo "E: dget - command not found"
echo "I: dget can be optained from: "
echo "I: http://git.debian.org/?p=devscripts/devscripts.git"
echo "I: On Debian based systems, dget can be installed with:"
echo "I: apt-get install devscripts"
exit 1
fi
fi
;;
esac
mkdir -p "${TMPDIR}/build"
cd "${TMPDIR}/build"
# live-boot
if [ -n "${LIVE_BOOT}" ]
then
mkdir -p config/chroot_local-packages
cd config/chroot_local-packages
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-boot_${LIVE_BOOT}.dsc"
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-boot_${LIVE_BOOT}.diff.gz"
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-boot_$(echo ${LIVE_BOOT} | awk -F- '{ print $1 }').orig.tar.gz"
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-boot_${LIVE_BOOT}_all.deb"
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-boot-initramfs-tools_${LIVE_BOOT}_all.deb"
wget -c "http://live.debian.net/archive/packages/live-boot/${LIVE_BOOT}/live-initramfs_${LIVE_BOOT}_all.deb"
cd "${OLDPWD}"
fi
# live-config
if [ -n "${LIVE_CONFIG}" ]
then
mkdir -p config/chroot_local-packages
cd config/chroot_local-packages
wget -c "http://live.debian.net/archive/packages/live-config/${LIVE_CONFIG}/live-config_${LIVE_CONFIG}.dsc"
wget -c "http://live.debian.net/archive/packages/live-config/${LIVE_CONFIG}/live-config_${LIVE_CONFIG}.diff.gz"
wget -c "http://live.debian.net/archive/packages/live-config/${LIVE_CONFIG}/live-config_$(echo ${LIVE_CONFIG} | awk -F- '{ print $1 }').orig.tar.gz"
wget -c "http://live.debian.net/archive/packages/live-config/${LIVE_CONFIG}/live-config_${LIVE_CONFIG}_all.deb"
wget -c "http://live.debian.net/archive/packages/live-config/${LIVE_CONFIG}/live-config-sysvinit_${LIVE_CONFIG}_all.deb"
cd "${OLDPWD}"
fi
# live-installer
if [ -n "${LIVE_INSTALLER}" ]
then
mkdir -p config/binary_local-udebs
cd config/binary_local-udebs
wget -c "http://ftp.debian.org/debian/pool/main/l/live-installer/live-installer_${LIVE_INSTALLER}.dsc"
wget -c "http://ftp.debian.org/debian/pool/main/l/live-installer/live-installer_${LIVE_INSTALLER}.tar.gz"
wget -c "http://ftp.debian.org/debian/pool/main/l/live-installer/live-installer_${LIVE_INSTALLER}_${ARCHITECTURE}.udeb"
cd "${OLDPWD}"
fi
# debian-installer-launcher
if [ -n "${DI_LAUNCHER}" ]
then
mkdir -p config/chroot_local-packages
cd config/chroot_local-packages
wget -c "http://ftp.debian.org/debian/pool/main/d/debian-installer-launcher/debian-installer-launcher_${DI_LAUNCHER}.dsc"
wget -c "http://ftp.debian.org/debian/pool/main/d/debian-installer-launcher/debian-installer-launcher_${DI_LAUNCHER}.tar.gz"
wget -c "http://ftp.debian.org/debian/pool/main/d/debian-installer-launcher/debian-installer-launcher_${DI_LAUNCHER}_all.deb"
cd "${OLDPWD}"
fi
}
Build ()
{
cd "${TMPDIR}/build"
for DISTRIBUTION in ${DISTRIBUTIONS}
do
rm -rf cache/stages*
for FLAVOUR in ${FLAVOURS}
do
if [ -e .stage ]
then
lb clean
fi
rm -rf cache/stages_rootfs
rm -f config/* || true
# FIXME: cdebootstrap
lb config --clean \
--bootstrap cdebootstrap \
--cache-stages "bootstrap rootfs" \
--debian-installer ${DEBIAN_INSTALLER} \
--debian-installer-distribution ${DEBIAN_INSTALLER_DISTRIBUTION} \
--distribution ${DISTRIBUTION} \
--mirror-bootstrap ${MIRROR_BOOTSTRAP} \
--mirror-chroot ${MIRROR_CHROOT} \
--mirror-chroot-security ${MIRROR_CHROOT_SECURITY} \
--packages-lists ${FLAVOUR}
lb build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.log
mv binary*.iso debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso
mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.list
mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.packages
if [ "${ARCHITECTURE}" != "powerpc" ]
then
lb clean --binary
lb config --clean --binary-images usb-hdd
lb binary 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.log
mv binary.img debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img
mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.list
mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.packages
fi
if [ "${ARCHITECTURE}" != "powerpc" ]
then
lb clean
rm -rf cache/stages_rootfs
lb config --clean --binary-images net
lb build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.log
mv binary-net.tar.gz debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz
mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.list
mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.packages
mv binary/*/filesystem.squashfs debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.squashfs
for memtest in tftpboot/debian-live/${ARCHITECTURE}/memtest*; do cp -f ${memtest} debian-live-${DISTRIBUTION}-${ARCHITECTURE}.$(basename ${memtest}); done || true
for kernel in tftpboot/debian-live/${ARCHITECTURE}/vmlinuz*; do cp -f ${kernel} debian-live-${DISTRIBUTION}-${ARCHITECTURE}.$(basename ${kernel}); done
for initrd in tftpboot/debian-live/${ARCHITECTURE}/initrd*; do cp ${initrd} debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.$(basename ${initrd}); done
cp debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.packages
fi
if [ "${LIVE_BUILD_CRON_IMAGES_SOURCE}" = "true" ]
then
lb config --clean --source true
lb source 2>&1 | tee debian-live-${DISTRIBUTION}-source-${FLAVOUR}.log
mv source.debian.tar.gz debian-live-${DISTRIBUTION}-source-${FLAVOUR}.debian.tar.gz
mv source.debian.list debian-live-${DISTRIBUTION}-source-${FLAVOUR}.debian.tar.gz.list
mv source.debian-live.tar.gz debian-live-${DISTRIBUTION}-source-${FLAVOUR}.debian-live.tar.gz
mv source.debian-live.list debian-live-${DISTRIBUTION}-source-${FLAVOUR}.debian-live.tar.gz.list
fi
done
done
}
Install ()
{
BUILD="1"
while [ -e "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}" ]
do
BUILD="$((${BUILD} + 1))"
done
cd "${TMPDIR}/build"
# Move iso images
if ls debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.iso* > /dev/null 2>&1
then
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/iso-hybrid"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.iso* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/iso-hybrid"
fi
# Move hdd images
if ls debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.img > /dev/null 2>&1
then
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/usb-hdd"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.img* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/usb-hdd"
fi
# Move net images
if ls debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.tar.gz* > /dev/null 2>&1
then
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/net"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.tar.gz* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/net"
fi
# Move web images
if ls debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.squashfs > /dev/null 2>&1
then
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/web"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.squashfs "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/web"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.packages* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/web"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.vmlinuz* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/web"
mv debian-live-${DISTRIBUTION}-${ARCHITECTURE}-*.initrd.img* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}/web"
fi
# Move source images
if ls debian-live-${DISTRIBUTION}-source-* > /dev/null 2>&1 && \
[ ! -d "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/source" ]
then
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/source/tar"
mv debian-live-${DISTRIBUTION}-source-* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/source/tar"
fi
for DIR in "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/${ARCHITECTURE}"/* "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/${DATE}-${BUILD}/source"/*
do
cd "${DIR}"
md5sum debian* > MD5SUMS
sha1sum debian* > SHA1SUMS
sha256sum debian* > SHA256SUMS
done
rm -f "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}/current"
cd "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${DISTRIBUTION}"
ln -s ${DATE}-${BUILD} current
}
Clean ()
{
cd "${TMPDIR}/build"
lb clean --purge
cd "${CURDIR}"
rm -rf "${TMPDIR}"
}
Trace ()
{
cat > "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}/${BUILDS}-builds/${BUILDS}-trace" << EOF
${DATE}-${BUILD}
$(LC_ALL=C date -R)
EOF
}
Main ()
{
Init
Setup
Build
Install
Clean
Trace
}
Main

107
cron/live-build-cron-manual Executable file
View File

@ -0,0 +1,107 @@
#!/bin/sh
## live-build-cron-manual(7) - FIXME
## Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org>
##
## 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 3 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/>.
##
## The complete text of the GNU General Public License
## can be found in /usr/share/common-licenses/GPL-3 file.
#set -e
Init ()
{
if [ -e /etc/live/build-cron.conf ]
then
. /etc/live/build-cron.conf
fi
if ls /etc/live/build-cron.d/* > /dev/null 2>&1
then
for _FILE in /etc/live/build-cron.d/*
do
. "${_FILE}"
done
fi
if [ "${LIVE_BUILD_CRON_MANUAL}" != "true" ]
then
echo "live-build-cron-manual disabled."
exit 0
fi
if [ -z "${LIVE_BUILD_CRON_MANUAL_DIRECTORY}" ]
then
echo "live-build-cron-manual directory not set."
exit 1
fi
}
Setup ()
{
TMPDIR="$(mktemp -d -t live-build-cron-manual.XXXXXXXX)"
cd "${TMPDIR}"
git clone git://live.debian.net/git/live-manual.git
cd live-manual && git checkout debian-next
}
Build ()
{
cd "${TMPDIR}/live-manual"
echo "Using the following sisu package versions: " | tee build.log
for _PACKAGE in $(dpkg --get-selections | awk '/^sisu/ { print $1 }')
do
echo ${_PACKAGE} $(apt-cache policy $package | awk '/Installed: / { print $2 }') | tee -a build.log
done
make DEBUG=1 autobuild 2>&1 | tee -a build.log
}
Install ()
{
cd "${LIVE_BUILD_CRON_MANUAL_DIRECTORY}"
rm -rf *
mv "${TMPDIR}/live-manual/build/"* ./
mv "${TMPDIR}/live-manual/build.log" ./
}
Clean ()
{
rm -rf "${TMPDIR}"
}
Trace ()
{
echo "$(LC_ALL=C date -R)" > "${LIVE_BUILD_CRON_MANUAL_DIRECTORY}/manual-trace"
}
Main ()
{
Init
Setup
Build
Install
Clean
Trace
}
Main

9
debian/control vendored
View File

@ -33,3 +33,12 @@ Description: Debian Live - System Build Scripts (cgi frontend)
configuration directory. configuration directory.
. .
This package contains the cgi frontend. This package contains the cgi frontend.
Package: live-build-cron
Architecture: all
Depends: ${misc:Depends}, live-build (= ${source:Version}), cron
Description: Debian Live - System Build Scripts (cron autobuilder)
live-build contains the scripts that build a Debian Live system image from a
configuration directory.
.
This package contains the cron autobuilder.

78
debian/live-build-cron.config vendored Normal file
View File

@ -0,0 +1,78 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
_FILES="/etc/live/build-cron.conf /etc/live/build-cron.d/*"
for _FILE in "${_FILES}"
do
if [ -e "${_FILE}" ]
then
_DEBCONF="true"
. "${_FILE}" || true
fi
done
if [ "${_DEBCONF}" = "true" ]
then
db_set live-build-cron-images/enable "${LIVE_BUILD_CRON_IMAGES}"
db_set live-build-cron-images/directory "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}"
db_set live-build-cron-images/build "${LIVE_BUILD_CRON_IMAGES_BUILD}"
db_set live-build-cron-images/daily-distributions "${LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS}"
db_set live-build-cron-images/daily-flavours "${LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS}"
db_set live-build-cron-images/weekly-distributions "${LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS}"
db_set live-build-cron-images/weekly-flavours "${LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS}"
db_set live-build-cron-images/monthly-distributions "${LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS}"
db_set live-build-cron-images/monthly-flavours "${LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS}"
db_set live-build-cron-images/source "${LIVE_BUILD_CRON_IMAGES_SOURCE}"
fi
db_settitle live-build-cron-images/title
db_input high live-build-cron-images/enable || true
db_go
db_get live-build-cron-images/enable
LIVE_BUILD_CRON_IMAGES="${RET}"
if [ "${LIVE_BUILD_CRON_IMAGES}" != "true" ]
then
db_stop
exit 0
fi
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/directory || true
db_go
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/build || true
db_go
for _BUILDS in daily weekly monthly
do
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/${_BUILDS}-distributions || true
db_go
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/${_BUILDS}-flavours || true
db_go
done
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/source || true
db_go
db_settitle live-build-cron-images/title
db_input low live-build-cron-images/cron || true
db_go
db_stop

176
debian/live-build-cron.postinst vendored Normal file
View File

@ -0,0 +1,176 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
_FILE="/etc/live/build-cron.d/images.conf"
case "${1}" in
configure)
db_get live-build-cron-images/enable
LIVE_BUILD_CRON_IMAGES="${RET}" # boolean
db_get live-build-cron-images/directory
LIVE_BUILD_CRON_IMAGES_DIRECTORY="${RET:-/srv/debian.net/live/cdimage}" # string (w/o empty)
db_get live-build-cron-images/build
LIVE_BUILD_CRON_IMAGES_BUILD="${RET}" # select
db_get live-build-cron-images/daily-distributions
LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/daily-flavours
LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/weekly-distributions
LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/weekly-flavours
LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/monthly-distributions
LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/monthly-flavours
LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS="$(echo ${RET} | sed -e 's|,||g')" # multiselect
db_get live-build-cron-images/source
LIVE_BUILD_CRON_IMAGES_SOURCE="${RET}" # boolean
db_get live-build-cron-images/cron
_CRON="${RET}" # string (w empty)
db_stop
if [ ! -e "${_FILE}" ]
then
mkdir -p "$(dirname ${_FILE})"
cat > "${_FILE}" << EOF
# /etc/live/build-cron.d/images.conf
LIVE_BUILD_CRON_IMAGES="${LIVE_BUILD_CRON_IMAGES}"
LIVE_BUILD_CRON_IMAGES_DIRECTORY="${LIVE_BUILD_CRON_IMAGES_DIRECTORY}"
LIVE_BUILD_CRON_IMAGES_BUILD="${LIVE_BUILD_CRON_IMAGES_BUILD}"
LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS="${LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS}"
LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS="${LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS}"
LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS="${LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS}"
LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS="${LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS}"
LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS="${LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS}"
LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS="${LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS}"
export LIVE_BUILD_CRON_IMAGES LIVE_BUILD_CRON_IMAGES_DIRECTORY
export LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS
export LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS
export LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS
export LIVE_BUILD_CRON_IMAGES_SOURCE
EOF
fi
cp -a -f "${_FILE}" "${_FILE}.tmp"
# If the admin deleted or commented some variables but then set
# them via debconf, (re-)add them to the config file.
test -z "${LIVE_BUILD_CRON_IMAGES}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_DIRECTORY=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_DIRECTORY=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_BUILD}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_BUILD=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_BUILD=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS=" >> "${_FILE}"
test -z "${LIVE_BUILD_CRON_IMAGES_SOURCE}" || \
grep -Eq '^ *LIVE_BUILD_CRON_IMAGES_SOURCE=' "${_FILE}" || \
echo "LIVE_BUILD_CRON_IMAGES_SOURCE=" >> "${_FILE}"
sed -e "s|^ *LIVE_BUILD_CRON_IMAGES=.*|LIVE_BUILD_CRON_IMAGES=\"${LIVE_BUILD_CRON_IMAGES}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_DIRECTORY=.*|LIVE_BUILD_CRON_IMAGES_DIRECTORY=\"${LIVE_BUILD_CRON_IMAGES_DIRECTORY}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_BUILD=.*|LIVE_BUILD_CRON_IMAGES_BUILD=\"${LIVE_BUILD_CRON_IMAGES_BUILD}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS=.*|LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS=\"${LIVE_BUILD_CRON_IMAGES_DAILY_DISTRIBUTIONS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS=.*|LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS=\"${LIVE_BUILD_CRON_IMAGES_DAILY_FLAVOURS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS=.*|LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS=\"${LIVE_BUILD_CRON_IMAGES_WEEKLY_DISTRIBUTIONS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS=.*|LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS=\"${LIVE_BUILD_CRON_IMAGES_WEEKLY_FLAVOURS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS=.*|LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS=\"${LIVE_BUILD_CRON_IMAGES_MONTHLY_DISTRIBUTIONS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS=.*|LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS=\"${LIVE_BUILD_CRON_IMAGES_MONTHLY_FLAVOURS}\"|" \
-e "s|^ *LIVE_BUILD_CRON_IMAGES_SOURCE=.*|LIVE_BUILD_CRON_IMAGES_SOURCE=\"${LIVE_BUILD_CRON_IMAGES_SOURCE}\"|" \
"${_FILE}" > "${_FILE}.tmp"
mv -f "${_FILE}.tmp" "${_FILE}"
mkdir -p "${LIVE_BUILD_CRON_IMAGES_DIRECTORY}"
if [ -n "${_CRON}" ]
then
cat > /etc/cron.d/live-build-cron-images << EOF
# /etc/cron.d/live-build-cron-images
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# m h dom mon dow user command
${_CRON} root /usr/bin/live-build-cron-images
EOF
else
rm -f /etc/cron.d/live-build-cron-images
fi
if [ -x "/etc/init.d/cron" ]
then
if [ -x "$(which invoke-rc.d 2>/dev/null)" ]
then
invoke-rc.d cron restart || exit ${?}
else
/etc/init.d/cron restart || exit ${?}
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`${1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

31
debian/live-build-cron.postrm vendored Normal file
View File

@ -0,0 +1,31 @@
#!/bin/sh
set -e
_DIRECTORY="/srv/debian.net/live-manual"
case "${1}" in
remove)
if [ -d "${_DIRECTORY}" ]
then
rmdir --ignore-fail-on-non-empty "${_DIRECTORY}" || true
fi
;;
purge)
#rm -rf "${_DIRECTORY}"
;;
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`${1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

82
debian/live-build-cron.templates vendored Normal file
View File

@ -0,0 +1,82 @@
Template: live-build-cron-images/title
Type: title
_Description: Debian Live - System Build Scripts
Template: live-build-cron-images/enable
Type: boolean
Default: false
_Description: Enable live-build-cron-images?
Do you want to enable live-build-cron-images?
.
If unsure, use 'no' (default).
Template: live-build-cron-images/directory
Type: string
_Default: /srv/debian.net/live-cdimage
_Description: What directory to put builds to?
Enter the directory where the images should be stored in.
Template: live-build-cron-images/build
Type: select
_Choices: git, host, release
Default: host
_Description: Which version of live-build to use?
Select the version of live-build to use.
.
If you choose git, the current version of live-build from git will be
used. host will use the live-build from the host system, and release will
use the last released version.
Template: live-build-cron-images/daily-distributions
Type: multiselect
_Choices: squeeze, wheezy, sid
Default: sid
_Description: What distributions to build for daily images?
Select the distributions you would like to build for daily-images.
Template: live-build-cron-images/daily-flavours
Type: multiselect
_Choices: standard, rescue, gnome-desktop, kde-desktop, lxde-desktop, xfce-desktop
Default: standard
_Description: What flavours to build for daily images?
Select the flavours you would like to build for daily-images.
Template: live-build-cron-images/weekly-distributions
Type: multiselect
_Choices: squeeze, wheezy, sid
Default: wheezy
_Description: What distributions to build for weekly images?
Select the distributions you would like to build for weekly-images.
Template: live-build-cron-images/weekly-flavours
Type: multiselect
_Choices: standard, rescue, gnome-desktop, kde-desktop, lxde-desktop, xfce-desktop
Default: standard
_Description: What flavours to build for weekly images?
Select the flavours you would like to build for weekly-images.
Template: live-build-cron-images/monthly-distributions
Type: multiselect
_Choices: squeeze, wheezy, sid
Default: squeeze
_Description: What distributions to build for monthly images?
Select the distributions you would like to build for monthly-images.
Template: live-build-cron-images/monthly-flavours
Type: multiselect
_Choices: standard, rescue, gnome-desktop, kde-desktop, lxde-desktop, xfce-desktop
Default: standard
_Description: What flavours to build for monthly images?
Select the flavours you would like to build for monthly-images.
Template: live-build-cron-images/source
Type: boolean
Default: false
_Description: Enable source for live-build-cron-images?
Do you sources for live-build-cron-images?
Template: live-build-cron-images/cron
Type: string
_Default: 0 0 * * *
_Description: What directory to put builds to?
Enter the cron times where the images should be build.

1
debian/po/POTFILES.in vendored Normal file
View File

@ -0,0 +1 @@
[type: gettext/rfc822deb] live-build-cron.templates

208
debian/po/templates.pot vendored Normal file
View File

@ -0,0 +1,208 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: live-build@packages.debian.org\n"
"POT-Creation-Date: 2011-07-15 20:31+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#. Type: title
#. Description
#: ../live-build-cron.templates:1001
msgid "Debian Live - System Build Scripts"
msgstr ""
#. Type: boolean
#. Description
#: ../live-build-cron.templates:2001
msgid "Enable live-build-cron-images?"
msgstr ""
#. Type: boolean
#. Description
#: ../live-build-cron.templates:2001
msgid "Do you want to enable live-build-cron-images?"
msgstr ""
#. Type: boolean
#. Description
#: ../live-build-cron.templates:2001
msgid "If unsure, use 'no' (default)."
msgstr ""
#. Type: string
#. Default
#: ../live-build-cron.templates:3001
msgid "/srv/debian.net/live-cdimage"
msgstr ""
#. Type: string
#. Description
#. Type: string
#. Description
#: ../live-build-cron.templates:3002 ../live-build-cron.templates:12002
msgid "What directory to put builds to?"
msgstr ""
#. Type: string
#. Description
#: ../live-build-cron.templates:3002
msgid "Enter the directory where the images should be stored in."
msgstr ""
#. Type: select
#. Choices
#: ../live-build-cron.templates:4001
msgid "git, host, release"
msgstr ""
#. Type: select
#. Description
#: ../live-build-cron.templates:4002
msgid "Which version of live-build to use?"
msgstr ""
#. Type: select
#. Description
#: ../live-build-cron.templates:4002
msgid "Select the version of live-build to use."
msgstr ""
#. Type: select
#. Description
#: ../live-build-cron.templates:4002
msgid ""
"If you choose git, the current version of live-build from git will be used. "
"host will use the live-build from the host system, and release will use the "
"last released version."
msgstr ""
#. Type: multiselect
#. Choices
#. Type: multiselect
#. Choices
#. Type: multiselect
#. Choices
#: ../live-build-cron.templates:5001 ../live-build-cron.templates:7001
#: ../live-build-cron.templates:9001
msgid "squeeze, wheezy, sid"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:5002
msgid "What distributions to build for daily images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:5002
msgid "Select the distributions you would like to build for daily-images."
msgstr ""
#. Type: multiselect
#. Choices
#. Type: multiselect
#. Choices
#. Type: multiselect
#. Choices
#: ../live-build-cron.templates:6001 ../live-build-cron.templates:8001
#: ../live-build-cron.templates:10001
msgid ""
"standard, rescue, gnome-desktop, kde-desktop, lxde-desktop, xfce-desktop"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:6002
msgid "What flavours to build for daily images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:6002
msgid "Select the flavours you would like to build for daily-images."
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:7002
msgid "What distributions to build for weekly images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:7002
msgid "Select the distributions you would like to build for weekly-images."
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:8002
msgid "What flavours to build for weekly images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:8002
msgid "Select the flavours you would like to build for weekly-images."
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:9002
msgid "What distributions to build for monthly images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:9002
msgid "Select the distributions you would like to build for monthly-images."
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:10002
msgid "What flavours to build for monthly images?"
msgstr ""
#. Type: multiselect
#. Description
#: ../live-build-cron.templates:10002
msgid "Select the flavours you would like to build for monthly-images."
msgstr ""
#. Type: boolean
#. Description
#: ../live-build-cron.templates:11001
msgid "Enable source for live-build-cron-images?"
msgstr ""
#. Type: boolean
#. Description
#: ../live-build-cron.templates:11001
msgid "Do you sources for live-build-cron-images?"
msgstr ""
#. Type: string
#. Default
#: ../live-build-cron.templates:12001
msgid "0 0 * * *"
msgstr ""
#. Type: string
#. Description
#: ../live-build-cron.templates:12002
msgid "Enter the cron times where the images should be build."
msgstr ""

6
debian/rules vendored
View File

@ -19,9 +19,13 @@ override_dh_auto_install:
rm -f debian/live-build/usr/share/doc/live-build/COPYING rm -f debian/live-build/usr/share/doc/live-build/COPYING
rm -f debian/live-build/usr/share/doc/live-build/ChangeLog rm -f debian/live-build/usr/share/doc/live-build/ChangeLog
# live-buld-cgi # live-build-cgi
mkdir -p debian/live-build-cgi/usr/share/live/build mkdir -p debian/live-build-cgi/usr/share/live/build
mv debian/live-build/usr/share/live/build/cgi debian/live-build-cgi/usr/share/live/build mv debian/live-build/usr/share/live/build/cgi debian/live-build-cgi/usr/share/live/build
# live-build-cron
mkdir -p debian/live-build-cron/usr/bin
mv debian/live-build/usr/bin/live-build-cron* debian/live-build-cron/usr/bin
override_dh_installchangelogs: override_dh_installchangelogs:
dh_installchangelogs docs/ChangeLog dh_installchangelogs docs/ChangeLog

View File

@ -0,0 +1,50 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
_FILES="/etc/live/autobuild.conf /etc/live/autobuild.d/*"
for _FILE in "${_FILES}"
do
if [ -e "${_FILE}" ]
then
_DEBCONF="true"
. "${_FILE}" || true
fi
done
if [ "${_DEBCONF}" = "true" ]
then
db_set live-autobuild-manual/enable "${LIVE_AUTOBUILD_MANUAL}"
fi
db_settitle live-autobuild-manual/title
db_input high live-autobuild-manual/enable || true
db_go
db_get live-autobuild-manual/enable
LIVE_AUTOBUILD_MANUAL="${RET}"
if [ "${LIVE_AUTOBUILD_MANUAL}" != "true" ]
then
db_stop
exit 0
fi
db_settitle live-autobuild-manual/title
db_input low live-autobuild-manual/username || true
db_go
db_settitle live-autobuild-manual/title
db_input low live-autobuild-manual/directory || true
db_go
db_settitle live-autobuild-manual/title
db_input low live-autobuild-manual/cron || true
db_go
db_stop

View File

@ -0,0 +1,111 @@
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
_FILE="/etc/live/autobuild.d/manual.conf"
case "${1}" in
configure)
db_get live-autobuild-manual/enable
LIVE_AUTOBUILD_MANUAL="${RET}" # boolean
db_get live-autobuild-manual/username
_USERNAME="${RET:-live-autobuild-manual}" # string (w/o empty)
db_get live-autobuild-manual/directory
LIVE_AUTOBUILD_MANUAL_DIRECTORY="${RET:-/srv/debian.net/live/cdimage}" # string (w/o empty)
db_get live-autobuild-manual/cron
_CRON="${RET}" # string (w empty)
db_stop
if [ ! -e "${_FILE}" ]
then
mkdir -p "$(dirname ${_FILE})"
cat > "${_FILE}" << EOF
# /etc/live/autobuild.d/manual.conf
LIVE_AUTOBUILD_MANUAL="${LIVE_AUTOBUILD_MANUAL}"
LIVE_AUTOBUILD_MANUAL_DIRECTORY="${LIVE_AUTOBUILD_MANUAL_DIRECTORY}"
export LIVE_AUTOBUILD_MANUAL LIVE_AUTOBUILD_MANUAL_DIRECTORY
EOF
fi
cp -a -f "${_FILE}" "${_FILE}.tmp"
# If the admin deleted or commented some variables but then set
# them via debconf, (re-)add them to the config file.
test -z "${LIVE_AUTOBUILD_MANUAL}" || \
grep -Eq '^ *LIVE_AUTOBUILD_MANUAL=' "${_FILE}" || \
echo "LIVE_AUTOBUILD_MANUAL=" >> "${_FILE}"
test -z "${LIVE_AUTOBUILD_MANUAL_DIRECTORY}" || \
grep -Eq '^ *LIVE_AUTOBUILD_MANUAL_DIRECTORY=' "${_FILE}" || \
echo "LIVE_AUTOBUILD_MANUAL_DIRECTORY=" >> "${_FILE}"
sed -e "s|^ *LIVE_AUTOBUILD_MANUAL=.*|LIVE_AUTOBUILD_MANUAL=\"${LIVE_AUTOBUILD_MANUAL}\"|" \
-e "s|^ *LIVE_AUTOBUILD_MANUAL_DIRECTORY=.*|LIVE_AUTOBUILD_MANUAL_DIRECTORY=\"${LIVE_AUTOBUILD_MANUAL_DIRECTORY}\"|" \
"${_FILE}" > "${_FILE}.tmp"
mv -f "${_FILE}.tmp" "${_FILE}"
if ! getent passwd "${_USERNAME}"
then
adduser --quiet --system --home ${LIVE_AUTOBUILD_MANUAL_DIRECTORY} --shell /bin/sh --disabled-password --no-create-home --gecos 'live-autobuild-manual' --group ${_USERNAME}
elif ! getent group "${_USERNAME}"
then
addgroup --system --quiet ${_USERNAME}
gpasswd -a ${_USERNAME} ${_USERNAME}
fi
mkdir -p "${LIVE_AUTOBUILD_MANUAL_DIRECTORY}"
chown ${_USERNAME}:${_USERNAME} "${LIVE_AUTOBUILD_MANUAL_DIRECTORY}" -R
if [ -n "${_CRON}" ]
then
cat > /etc/cron.d/live-autobuild-manual << EOF
# /etc/cron.d/live-autobuild-manual
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# m h dom mon dow user command
${_CRON} ${_USERNAME} /usr/bin/live-autobuild-manual
EOF
else
rm -f /etc/cron.d/live-autobuild-manual
fi
if [ -x "/etc/init.d/cron" ]
then
if [ -x "$(which invoke-rc.d 2>/dev/null)" ]
then
invoke-rc.d cron restart || exit ${?}
else
/etc/init.d/cron restart || exit ${?}
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`${1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

View File

@ -0,0 +1,37 @@
#!/bin/sh
set -e
_USERNAME="live-autobuild-manual"
_DIRECTORY="/srv/debian.net/live-manual"
case "${1}" in
remove)
if [ -x /usr/sbin/deluser ]
then
deluser --system ${_USERNAME} || true
fi
if [ -d "${_DIRECTORY}" ]
then
rmdir --ignore-fail-on-non-empty "${_DIRECTORY}" || true
fi
;;
purge)
rm -rf "${_DIRECTORY}"
;;
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`${1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

View File

@ -0,0 +1,29 @@
Template: live-autobuild-manual/title
Type: title
Description: Debian Live - System Build Scripts
Template: live-autobuild-manual/enable
Type: boolean
Default: false
Description: Enable live-autobuild-manual?
Do you want to enable live-autobuild-manual?
.
If unsure, use 'no' (default).
Template: live-autobuild-manual/username
Type: string
Default: live-autobuild-manual
Description: What useraccount to use to build the manual?
Enter the name of the username.
Template: live-autobuild-manual/directory
Type: string
Default: /srv/debian.net/live-manual
Description: What directory to put builds to?
Enter the directory where the manual should be stored in.
Template: live-autobuild-manual/cron
Type: string
Default: 0-59/10 * * * *
Description: What directory to put builds to?
Enter the cron times where the manual should be build.