debian-cd-clone/contrib/cronjob.weekly

199 lines
6.7 KiB
Bash
Executable File

#!/bin/sh
export TOPDIR=$(dirname $0)
. $TOPDIR/settings.sh
export PUBDIRJIG=$PUBDIR/weekly-builds
export PUBDIRISO=$PUBDIR/weekly-builds
export DATE_BUILD="$DATE-$BUILDNUM"
export RSYNC_TARGET=/export/ftp/cdimage/weekly-builds
# If we're doing a normal set of daily/weekly builds, leave the
# checksum filenames alone. Otherwise, make life easier for people
# combining things later and append a suitable name as we build.
if [ "$DEBVERSION"x != "testing"x ] ; then
export SUMS_EXTENSION=".large"
fi
. images4testing_d-i
# Uncomment the following to use daily d-i builds for weekly images
# rather than what's in the archive
USE_DAILY_DI=Y
if [ "$USE_DAILY_DI"x = "Y"x ] ; then
export DI=sid
export DI_WWW_HOME=default
fi
export DI_DIST
export DI_CODENAME
OMIT_RELEASE_NOTES=0
export OMIT_RELEASE_NOTES
if [ "$ARCHES"x = ""x ] ; then
ARCHES="i386 source amd64 multi powerpc alpha armel hppa ia64 mips mipsel s390 sparc"
fi
if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
echo "svn update debian-cd"
cd debian-cd && svn cleanup; svn up ; cd ..
cd debian-cd && ./tools/update_popcon tasks/squeeze/popularity-contest ; cd ..
cd $TOPDIR
mkdir -p $PUBDIRJIG/trace
mkdir -p $RSYNC_TARGET
for arch in $ARCHES; do
if [ "$arch" != multi ] ; then
rm -rf $PUBDIRJIG/$arch
mkdir -p $PUBDIRJIG/$arch
date
#export DI_DIR="$ARCH_DI_DIR"
# Full CD set
if [ "$NOCD"x = ""x ] ; then
case $arch in
i386|amd64|source)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
powerpc)
export MAXISOS=8; export MAXJIGDOS=ALL ;;
*)
export MAXISOS=3; export MAXJIGDOS=ALL ;;
esac
CDSTART=`date -u +%H:%M:%S`
unset DESKTOP
./testingcds "$arch"
error=$?
CDEND=`date -u +%H:%M:%S`
echo "$arch CDs started at $CDSTART, ended at $CDEND, error $error"
fi
# Full DVD set
if [ "$NODVD"x = ""x ] ; then
case $arch in
i386|amd64|source)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
*)
export MAXISOS=1; export MAXJIGDOS=ALL ;;
esac
DVDSTART=`date -u +%H:%M:%S`
export DESKTOP=all
INSTALLER_CD=3 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
./testingcds "$arch"
error=$?
DVDEND=`date -u +%H:%M:%S`
echo "$arch DVDs started at $DVDSTART, ended at $DVDEND, error $error"
fi
# Full BD set
if [ "$NOBD"x = ""x ] ; then
case $arch in
i386|amd64|source)
export MAXISOS=0
export MAXJIGDOS=ALL
BDSTART=`date -u +%H:%M:%S`
export DESKTOP=all
INSTALLER_CD=9 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
./testingcds "$arch"
error=$?
BDEND=`date -u +%H:%M:%S`
echo "$arch BDs started at $BDSTART, ended at $BDEND, error $error"
;;
*)
echo "Not running BD build for $arch"
;;
esac
fi
# kde and xfce/lxde cds
if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then
CDSTART=`date -u +%H:%M:%S`
export DESKTOP=kde
export MAXISOS=1; export MAXJIGDOS=1
INSTALLER_CD=4 TASK=Debian-kde \
KERNEL_PARAMS='desktop=kde' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch"
error=$?
CDEND=`date -u +%H:%M:%S`
echo "$arch KDE CD started at $CDSTART, ended at $CDEND, error $error"
CDSTART=`date -u +%H:%M:%S`
export DESKTOP=light
export MAXISOS=1; export MAXJIGDOS=1
INSTALLER_CD=B TASK=Debian-light \
KERNEL_PARAMS='desktop=light' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch"
error=$?
CDEND=`date -u +%H:%M:%S`
echo "$arch Xfce/LXDE CD started at $CDSTART, ended at $CDEND, error $error"
fi
if [ "$NOSYNC"x = ""x ] ; then
echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &"
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &
fi
else # multi
rm -rf $PUBDIRJIG/multi-arch
for i in iso-dvd jigdo-dvd; do
mkdir -p $PUBDIRJIG/multi-arch/$i
done
if [ "$NODVD"x = ""x ] ; then
DVDSTART=`date -u +%H:%M:%S`
export DESKTOP=all
INSTALLER_CD=6 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "i386 amd64 source"
error=$?
DVDEND=`date -u +%H:%M:%S`
echo "Multi-arch DVD started at $DVDSTART, ended at $DVDEND, error $error"
mv $PUBDIRJIG/multi/jigdo-dvd/debian* $PUBDIRJIG/multi-arch/jigdo-dvd
for file in $PUBDIRJIG/multi/jigdo-dvd/*SUMS$SUMS_EXTENSION; do
outfile=$PUBDIRJIG/multi-arch/jigdo-dvd/`basename $file`
cat $file >> $outfile
done
mv $PUBDIRJIG/multi/iso-dvd/debian* $PUBDIRJIG/multi-arch/iso-dvd
for file in $PUBDIRJIG/multi/iso-dvd/*SUMS$SUMS_EXTENSION; do
outfile=$PUBDIRJIG/multi-arch/iso-dvd/`basename $file`
cat $file >> $outfile
done
rm -rf $PUBDIRJIG/multi
fi
if [ "$NOSYNC"x = ""x ] ; then
echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &"
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &
fi
fi # end of multi
# Reset envvars for next iteration
unset DESKTOP
done
~/build/generate_firmware_images squeeze
~/build/generate_firmware_images sid
if [ "$NOSNAP"x = ""x ] ; then
~/bin/weekly-snapshots
fi
date -u > $PUBDIRJIG/trace/cdimage.debian.org
rm -f $TOPDIR/.debian-cd.lock
fi