Commit latest build scripts into debian-cd contrib ready for a release

This commit is contained in:
Steve McIntyre 2013-01-20 01:03:24 +00:00
parent 0d6c4ad905
commit 0dc48d660e
8 changed files with 297 additions and 228 deletions

View File

@ -265,7 +265,7 @@ do
JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL" JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL"
done done
export IGNORE_MISSING_BOOT_SCRIPT=1 export IGNORE_MISSING_BOOT_SCRIPT=0
# Where to find the boot disks # Where to find the boot disks
#export BOOTDISKS=$TOPDIR/ftp/skolelinux/boot-floppies #export BOOTDISKS=$TOPDIR/ftp/skolelinux/boot-floppies

View File

@ -32,6 +32,10 @@ build_description () {
DESC="KDE CD";; DESC="KDE CD";;
LIGHTCD) LIGHTCD)
DESC="XFCE/lxde CD";; DESC="XFCE/lxde CD";;
XFCECD)
DESC="XFCE CD";;
LXDECD)
DESC="lxde CD";;
*) *)
DESC="UNKNOWN";; DESC="UNKNOWN";;
esac esac

View File

@ -4,12 +4,33 @@ TOPDIR=$(dirname $0)
. $TOPDIR/settings.sh . $TOPDIR/settings.sh
BUILDLOCK=$HOME/.debian-cd.lock
export PUBDIRJIG=$PUBDIR/daily-builds export PUBDIRJIG=$PUBDIR/daily-builds
export DATE_BUILD="$DATE-$BUILDNUM" export DATE_BUILD="$DATE-$BUILDNUM"
export TESTING_SUITE=wheezy export TESTING_SUITE=wheezy
BUILDS_RUNNING="" BUILDS_RUNNING=""
export SID_WANTED=1 if [ "$RELEASE_BUILD"x = ""x ] ; then
export SID_WANTED=1
export OUT_FREE_TST=${PUBDIRJIG}/${TESTING_SUITE}_d-i/${DATE_BUILD}
export OUT_FW_TST=${PUBDIRJIG}-firmware/${TESTING_SUITE}_d-i/${DATE_BUILD}
export OUT_FREE_SID=${PUBDIRJIG}/sid_d-i/${DATE_BUILD}
export OUT_FW_SID=${PUBDIRJIG}-firmware/sid_d-i/${DATE_BUILD}
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/daily-builds
else
export SID_WANTED=0
export OUT_FREE_TST=${PUBDIRJIG}-$RELEASE_BUILD
export OUT_FW_TST=${PUBDIRJIG}-$RELEASE_BUILD-firmware
export OUT_FREE_SID=""
export OUT_FW_SID=""
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/.${RELEASE_BUILD}
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/.${RELEASE_BUILD}
export CONF=~/build.wheezy/CONF.sh.${RELEASE_BUILD}
export RELEASE_BUILD=$RELEASE_BUILD
fi
export BC_WANTED=0
export NI_WANTED=1
. $TOPDIR/common.sh . $TOPDIR/common.sh
@ -25,18 +46,9 @@ fi
finalise_arch_dir () { finalise_arch_dir () {
ARCH=$1 ARCH=$1
INST_VER=$2
TYPE=$3
if [ "$TYPE" = "free" ] ; then
ARCH_DIR=$PUBDIRJIG/${INST_VER}_d-i/$DATE_BUILD/$ARCH/
elif [ "$TYPE" = "firmware" ] ; then
ARCH_DIR=$PUBDIRJIG-firmware/${INST_VER}_d-i/$DATE_BUILD/$ARCH
else
echo "Uncaught finalise_arch_dir TYPE \"$TYPE\""
exit 1
fi
for OUT_DIR in $OUT_FREE_TST $OUT_FW_TST $OUT_FREE_SID $OUT_FW_SID; do
ARCH_DIR=$OUT_DIR/$ARCH
# Only keep things / do any work here if there are any files in the ARCH_DIR # Only keep things / do any work here if there are any files in the ARCH_DIR
NUM_FILES=`find $ARCH_DIR -type f | wc -l` NUM_FILES=`find $ARCH_DIR -type f | wc -l`
if [ $NUM_FILES = 0 ] ; then if [ $NUM_FILES = 0 ] ; then
@ -45,26 +57,31 @@ finalise_arch_dir () {
ARCH_ISO_DIR=${ARCH_DIR}/iso-cd ARCH_ISO_DIR=${ARCH_DIR}/iso-cd
ARCH_JIGDO_DIR=${ARCH_DIR}/jigdo-cd ARCH_JIGDO_DIR=${ARCH_DIR}/jigdo-cd
cd $ARCH_ISO_DIR if [ "$RELEASE_BUILD"x = ""x ] ; then
DATESTRING=`date -u` DATESTRING=`date -u`
if [ "$TYPE" = "free" ] ; then case $ARCH_ISO_DIR in
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" $TOPDIR/daily.html > HEADER.html *firmware*)
else INFILE=$TOPDIR/daily-firmware.html;;
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" $TOPDIR/daily-firmware.html > HEADER.html *)
INFILE=$TOPDIR/daily.html;;
esac
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" \
$INFILE > $ARCH_DIR/HEADER.html
fi fi
$TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR $SUMS_EXTENSION $TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR $SUMS_EXTENSION
cp $ARCH_JIGDO_DIR/*SUMS* $ARCH_ISO_DIR cp $ARCH_JIGDO_DIR/*SUMS* $ARCH_ISO_DIR
cd .. cd $ARCH_DIR
~/build/mktorrent iso-cd/*iso # Only make torrent files for release builds
~/build/mklist iso-cd/*iso if [ "$RELEASE_BUILD"x != ""x ] ; then
~/build.wheezy/mktorrent iso-cd/*iso
cp iso-cd/*SUMS* bt-cd cp iso-cd/*SUMS* bt-cd
fi
~/build.wheezy/mklist iso-cd/*iso
cd $TOPDIR cd $TOPDIR
fi fi
done
} }
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/daily-builds
if [ "$ARCHES"x = ""x ] ; then if [ "$ARCHES"x = ""x ] ; then
ARCHES="amd64 armel armhf i386 ia64 mips mipsel powerpc sparc multi-arch kfreebsd-amd64 kfreebsd-i386" ARCHES="amd64 armel armhf i386 ia64 mips mipsel powerpc sparc multi-arch kfreebsd-amd64 kfreebsd-i386"
# ARCHES="amd64" # ARCHES="amd64"
@ -76,7 +93,7 @@ if [ "$ARCHES_FIRMWARE"x = ""x ] ; then
fi fi
cd $TOPDIR && cd $TOPDIR &&
if lockfile -r0 .debian-cd.lock ; then if lockfile -r0 $BUILDLOCK ; then
echo "svn update debian-cd:" echo "svn update debian-cd:"
cd debian-cd && svn cleanup ; svn up ; cd .. cd debian-cd && svn cleanup ; svn up ; cd ..
@ -95,27 +112,15 @@ if lockfile -r0 .debian-cd.lock ; then
arch_error="" arch_error=""
arch_start=`now` arch_start=`now`
echo "Building $arch:" for OUT_DIR in $OUT_FREE_TST $OUT_FW_TST $OUT_FREE_SID $OUT_FW_SID; do
for ARCHDIR in \ mkdir -p ${OUT_DIR}/${arch}/iso-cd ${OUT_DIR}/${arch}/jigdo-cd
${PUBDIRJIG}/${TESTING_SUITE}_d-i/${DATE_BUILD}/${arch} \
${PUBDIRJIG}-firmware/${TESTING_SUITE}_d-i/${DATE_BUILD}/${arch} \
; do
mkdir -p ${ARCHDIR}/iso-cd ${ARCHDIR}/jigdo-cd
done done
if [ "$SID_WANTED" = "1" ] ; then
for ARCHDIR in \
${PUBDIRJIG}/sid_d-i/${DATE_BUILD}/${arch} \
${PUBDIRJIG}-firmware/sid_d-i/${DATE_BUILD}/${arch} \
; do
mkdir -p ${ARCHDIR}/iso-cd ${ARCHDIR}/jigdo-cd
done
fi
if [ "$arch" = "multi-arch" ] ; then if [ "$arch" = "multi-arch" ] ; then
for arch1 in $ARCHES_FIRMWARE; do for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then if [ "$arch" = "$arch1" ] ; then
if [ "$SID_WANTED" = "1" ] ; then if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_WANTED" = "1" ] ; then
build_started SIDNIFIRMWARE build_started SIDNIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
@ -125,7 +130,9 @@ if lockfile -r0 .debian-cd.lock ; then
DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \ DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \
DI_WWW_HOME=default ./testingcds "amd64 i386" & DI_WWW_HOME=default ./testingcds "amd64 i386" &
fi fi
fi
if [ "$NI_WANTED" = "1" ] ; then
build_started TESTINGNIFIRMWARE build_started TESTINGNIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
@ -135,9 +142,11 @@ if lockfile -r0 .debian-cd.lock ; then
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \ DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \
./testingcds "amd64 i386" & ./testingcds "amd64 i386" &
fi fi
fi
done done
if [ "$SID_WANTED" = "1" ] ; then if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_WANTED" = "1" ] ; then
build_started SIDNI build_started SIDNI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
@ -146,7 +155,9 @@ if lockfile -r0 .debian-cd.lock ; then
DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \ DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \
DI_WWW_HOME=default ./testingcds "amd64 i386" & DI_WWW_HOME=default ./testingcds "amd64 i386" &
fi fi
fi
if [ "$NI_WANTED" = "1" ] ; then
build_started TESTINGNI build_started TESTINGNI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
@ -154,16 +165,12 @@ if lockfile -r0 .debian-cd.lock ; then
MAXISOS=ALL MAXJIGDOS=ALL \ MAXISOS=ALL MAXJIGDOS=ALL \
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \ DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \
./testingcds "amd64 i386" & ./testingcds "amd64 i386" &
fi
catch_parallel_builds catch_parallel_builds
rm -rf $PUBDIRJIG/$arch rm -rf $PUBDIRJIG/$arch
if [ "$arch_error"x = "none"x ] ; then if [ "$arch_error"x = "none"x ] ; then
finalise_arch_dir $arch ${TESTING_SUITE} free finalise_arch_dir $arch
finalise_arch_dir $arch ${TESTING_SUITE} firmware
if [ "$SID_WANTED" = "1" ] ; then
finalise_arch_dir $arch sid free
finalise_arch_dir $arch sid firmware
fi
fi fi
else # end of m-a else # end of m-a
@ -171,6 +178,7 @@ if lockfile -r0 .debian-cd.lock ; then
for arch1 in $ARCHES_FIRMWARE; do for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then if [ "$arch" = "$arch1" ] ; then
if [ "$SID_WANTED" = "1" ] ; then if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_WANTED" = "1" ] ; then
build_started SIDNIFIRMWARE build_started SIDNIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
FORCE_FIRMWARE=1 CDNAME=firmware \ FORCE_FIRMWARE=1 CDNAME=firmware \
@ -179,7 +187,9 @@ if lockfile -r0 .debian-cd.lock ; then
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \ DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
fi
if [ "$NI_WANTED" = "1" ] ; then
build_started TESTINGNIFIRMWARE build_started TESTINGNIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
FORCE_FIRMWARE=1 CDNAME=firmware \ FORCE_FIRMWARE=1 CDNAME=firmware \
@ -188,16 +198,20 @@ if lockfile -r0 .debian-cd.lock ; then
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \ DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
fi
done done
if [ "$SID_WANTED" = "1" ] ; then if [ "$SID_WANTED" = "1" ] ; then
if [ "$BC_WANTED" = "1" ] ; then
build_started SIDBC build_started SIDBC
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \
TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \ TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \ DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
./testingcds "$arch" & ./testingcds "$arch" &
fi
if [ "$NI_WANTED" = "1" ] ; then
build_started SIDNI build_started SIDNI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
@ -205,30 +219,30 @@ if lockfile -r0 .debian-cd.lock ; then
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \ DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
fi
if [ "$BC_WANTED" = "1" ] ; then
build_started TESTINGBC build_started TESTINGBC
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \
TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \ TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \ DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
./testingcds "$arch" & ./testingcds "$arch" &
fi
if [ "$NI_WANTED" = "1" ] ; then
build_started TESTINGNI build_started TESTINGNI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \ TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \ DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
./testingcds "$arch" & ./testingcds "$arch" &
fi
catch_parallel_builds catch_parallel_builds
rm -rf $PUBDIRJIG/$arch rm -rf $PUBDIRJIG/$arch
if [ "$arch_error"x = "none"x ] ; then if [ "$arch_error"x = "none"x ] ; then
finalise_arch_dir $arch ${TESTING_SUITE} free finalise_arch_dir $arch
finalise_arch_dir $arch ${TESTING_SUITE} firmware
if [ "$SID_WANTED" = "1" ] ; then
finalise_arch_dir $arch sid free
finalise_arch_dir $arch sid firmware
fi
fi fi
fi # end of normal arch build fi # end of normal arch build
@ -236,6 +250,7 @@ if lockfile -r0 .debian-cd.lock ; then
if [ "$NOSYNC"x = ""x ] ; then if [ "$NOSYNC"x = ""x ] ; then
if [ "$RELEASE_BUILD"x = ""x ] ; then
echo "Clean up old builds on build machine:" echo "Clean up old builds on build machine:"
for DIR in $PUBDIRJIG/* $PUBDIRJIG-firmware/* ; do for DIR in $PUBDIRJIG/* $PUBDIRJIG-firmware/* ; do
cd $DIR cd $DIR
@ -258,8 +273,14 @@ if lockfile -r0 .debian-cd.lock ; then
~/bin/remove_extra_dailies $RSYNC_TARGET_FIRMWARE "$ARCHES_FIRMWARE" ~/bin/remove_extra_dailies $RSYNC_TARGET_FIRMWARE "$ARCHES_FIRMWARE"
echo "$DATE-$BUILDNUM" > $RSYNC_TARGET_FREE/daily-trace echo "$DATE-$BUILDNUM" > $RSYNC_TARGET_FREE/daily-trace
else # Release build
echo "Sync normal builds for $RELEASE_BUILD across to output dir: $RSYNC_TARGET_FREE"
rsync -rHltv $OUT_FREE_TST/ $RSYNC_TARGET_FREE/
echo "Sync firmware builds for $RELEASE_BUILD across to output dir: $RSYNC_TARGET_FIRMWARE"
rsync -rHltv $OUT_FW_TST/ $RSYNC_TARGET_FIRMWARE/
fi
fi fi
cd $TOPDIR cd $TOPDIR
rm -f .debian-cd.lock rm -f $BUILDLOCK
fi fi

View File

@ -6,27 +6,32 @@ export TOPDIR=$(dirname $0)
export PUBDIRJIG=$PUBDIR/weekly-builds export PUBDIRJIG=$PUBDIR/weekly-builds
export DATE_BUILD="$DATE-$BUILDNUM" export DATE_BUILD="$DATE-$BUILDNUM"
BUILDLOCK=$HOME/.debian-cd.lock
. $TOPDIR/common.sh . $TOPDIR/common.sh
# Make sure the machine isn't rebooted while we're busy # Make sure the machine isn't rebooted while we're busy
reboot_lock reboot_lock
export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds # Uncomment the following to use daily d-i builds for weekly images
# rather than what's in the archive
USE_DAILY_DI=Y
# If we're doing a normal set of daily/weekly builds, leave the if [ "$RELEASE_BUILD"x = ""x ] ; then
# checksum filenames alone. Otherwise, make life easier for people export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds
# combining things later and append a suitable name as we build. else
if [ "$DEBVERSION"x != "testing"x ] ; then export RSYNC_TARGET=/mnt/nfs-cdimage/.${RELEASE_BUILD}
export CONF=~/build.wheezy/CONF.sh.${RELEASE_BUILD}
export RELEASE_BUILD=$RELEASE_BUILD
# 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.
export SUMS_EXTENSION=".large" export SUMS_EXTENSION=".large"
USE_DAILY_DI=N
fi fi
. images4testing_d-i . 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 if [ "$USE_DAILY_DI"x = "Y"x ] ; then
export DI=sid export DI=sid
export DI_WWW_HOME=default export DI_WWW_HOME=default
@ -43,7 +48,7 @@ if [ "$ARCHES"x = ""x ] ; then
ARCHES="i386 source amd64 multi powerpc armel armhf ia64 mips mipsel s390 s390x sparc kfreebsd-amd64 kfreebsd-i386" ARCHES="i386 source amd64 multi powerpc armel armhf ia64 mips mipsel s390 s390x sparc kfreebsd-amd64 kfreebsd-i386"
fi fi
if lockfile -r0 $TOPDIR/.debian-cd.lock ; then if lockfile -r0 $BUILDLOCK ; then
# echo "NOT checking for svn updates" # echo "NOT checking for svn updates"
echo "svn update debian-cd" echo "svn update debian-cd"
cd debian-cd && svn cleanup; svn up ; cd .. cd debian-cd && svn cleanup; svn up ; cd ..
@ -71,10 +76,11 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
unset FORCE_CD_SIZE1 unset FORCE_CD_SIZE1
export MAX_PKG_SIZE=500000000 export MAX_PKG_SIZE=500000000
case $arch in case $arch in
i386|amd64|source) i386|amd64)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
powerpc)
export MAXISOS=8; export MAXJIGDOS=ALL ;; export MAXISOS=8; export MAXJIGDOS=ALL ;;
source)
# don't make CD ISOs for source, DVD will do
export MAXISOS=0; export MAXJIGDOS=ALL ;;
*) *)
export MAXISOS=3; export MAXJIGDOS=ALL ;; export MAXISOS=3; export MAXJIGDOS=ALL ;;
esac esac
@ -88,7 +94,7 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
export MAX_PKG_SIZE=999999999999 export MAX_PKG_SIZE=999999999999
case $arch in case $arch in
i386|amd64) i386|amd64)
export MAXISOS=ALL export MAXISOS=3
export MAXJIGDOS=ALL export MAXJIGDOS=ALL
export VARIANTS=xen export VARIANTS=xen
# Special case: make DVD1 fit on a 4GB USB # Special case: make DVD1 fit on a 4GB USB
@ -97,6 +103,11 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
;; ;;
source) source)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;; export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
powerpc)
# Special case: make DVD1 fit on a 4GB USB
# stick (#686471)
export FORCE_CD_SIZE1=STICK4GB
export MAXISOS=1; export MAXJIGDOS=ALL ;;
*) *)
export MAXISOS=1; export MAXJIGDOS=ALL ;; export MAXISOS=1; export MAXJIGDOS=ALL ;;
esac esac
@ -151,7 +162,7 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
esac esac
fi fi
# kde and xfce/lxde cds # kde, xfce and lxde cds
if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then
if [ "$NOKDECD"x = ""x ] ; then if [ "$NOKDECD"x = ""x ] ; then
export MAX_PKG_SIZE=300000000 export MAX_PKG_SIZE=300000000
@ -166,15 +177,28 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
if [ "$NOLIGHTCD"x = ""x ] ; then if [ "$NOXFCECD"x = ""x ] ; then
export MAX_PKG_SIZE=300000000 export MAX_PKG_SIZE=300000000
export DESKTOP=light export DESKTOP=xfce
export MAXISOS=1; export MAXJIGDOS=1 export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1 unset FORCE_CD_SIZE1
export VARIANTS="" export VARIANTS=""
build_started LIGHTCD build_started XFCECD
INSTALLER_CD=B TASK=Debian-light \ INSTALLER_CD=5 TASK=Debian-xfce \
KERNEL_PARAMS='desktop=light' \ KERNEL_PARAMS='desktop=xfce' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" &
fi
if [ "$NOLXDECD"x = ""x ] ; then
export MAX_PKG_SIZE=300000000
export DESKTOP=lxde
export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
build_started LXDECD
INSTALLER_CD=A TASK=Debian-lxde \
KERNEL_PARAMS='desktop=lxde' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
@ -184,10 +208,10 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
if [ "$NOSYNC"x = ""x ] ; then if [ "$NOSYNC"x = ""x ] ; then
if [ "$arch_error"x = "none"x ] ; then if [ "$arch_error"x = "none"x ] ; then
echo " Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &" echo " Running ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &"
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch & ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &
else else
~/build/report_build_error $RSYNC_TARGET $arch "$arch_error" ~/build.wheezy/report_build_error $RSYNC_TARGET $arch "$arch_error"
fi fi
fi fi
else # multi else # multi
@ -229,10 +253,10 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
if [ "$NOSYNC"x = ""x ] ; then if [ "$NOSYNC"x = ""x ] ; then
if [ "$arch_error"x = "none"x ] || [ "$arch_error"x = ""x ] ; then if [ "$arch_error"x = "none"x ] || [ "$arch_error"x = ""x ] ; then
echo " Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &" echo " Running ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &"
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch & ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &
else else
~/build/report_build_error $RSYNC_TARGET multi-arch "$arch_error" ~/build.wheezy/report_build_error $RSYNC_TARGET multi-arch "$arch_error"
fi fi
fi fi
fi # end of multi fi # end of multi
@ -240,8 +264,8 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
done done
if [ "$NOFW"x = ""x ] ; then if [ "$NOFW"x = ""x ] ; then
~/build/generate_firmware_images wheezy ~/build.wheezy/generate_firmware_images wheezy
~/build/generate_firmware_images sid ~/build.wheezy/generate_firmware_images sid
fi fi
if [ "$NOSNAP"x = ""x ] ; then if [ "$NOSNAP"x = ""x ] ; then
@ -250,5 +274,5 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
date -u > $PUBDIRJIG/trace/cdimage.debian.org date -u > $PUBDIRJIG/trace/cdimage.debian.org
rm -f $TOPDIR/.debian-cd.lock rm -f $BUILDLOCK
fi fi

View File

@ -7,7 +7,7 @@ TOPDIR=`pwd`
. $TOPDIR/.ftp.buildnum . $TOPDIR/.ftp.buildnum
MYCOPY=$TOPDIR/.ftp.cron MYCOPY=$TOPDIR/.ftp.cron
BUILDLOCK=$TOPDIR/.debian-cd.lock BUILDLOCK=$HOME/.debian-cd.lock
MAILLIST=$TOPDIR/.debian-cd.mail MAILLIST=$TOPDIR/.debian-cd.mail
# Change these to abort daily/weekly builds as appropriate # Change these to abort daily/weekly builds as appropriate

View File

@ -6,7 +6,7 @@ PUBDIRJIG=$1
RSYNC_TARGET=$2 RSYNC_TARGET=$2
ARCH=$3 ARCH=$3
LOG=~/build/log/$ARCH.iso_run LOG=~/build.wheezy/log/$ARCH.iso_run
HOSTNAME=`hostname -f` HOSTNAME=`hostname -f`
LOCK=~/iso_run.lock LOCK=~/iso_run.lock
START=`date -u +%H:%M:%S` START=`date -u +%H:%M:%S`
@ -21,19 +21,21 @@ trap "rm -f $LOCK > /dev/null 2>&1" exit
rm -f $LOG rm -f $LOG
# Given an ISO image: # Given an ISO image:
# 1. create the torrent file # 1. create the torrent file if desired (only for release builds)
# 2. copy all of them into place # 2. copy all of them into place
process_iso() { process_iso() {
FILE=$1 FILE=$1
OUTDIR=$2 OUTDIR=$2
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
~/build/mktorrent $FILE >> $LOG
echo $OUTDIR/$FILE >> $LOG echo $OUTDIR/$FILE >> $LOG
cp -a $FILE $OUTDIR/$FILE cp -a $FILE $OUTDIR/$FILE
if [ "$RELEASE_BUILD"x != ""x ] ; then
~/build.wheezy/mktorrent $FILE >> $LOG
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
echo $OUTDIR/$BTFILE >> $LOG echo $OUTDIR/$BTFILE >> $LOG
cp -a $BTFILE $OUTDIR/$BTFILE cp -a $BTFILE $OUTDIR/$BTFILE
fi
} }
# Poor man's rsync, but with some local optimisations # Poor man's rsync, but with some local optimisations
@ -42,12 +44,20 @@ copy_files() {
TARGET=$2 TARGET=$2
ARCHES=$3 ARCHES=$3
DISKTYPES="cd dvd bd dlbd"
DIRTYPES="iso jigdo list"
# Only make torrent files and dirs for release builds
if [ "$RELEASE_BUILD"x != ""x ] ; then
DIRTYPES="$DIRTYPES bt"
fi
CURRENT=`pwd` CURRENT=`pwd`
cd $SRC cd $SRC
for ARCH in $ARCHES for ARCH in $ARCHES
do do
for DISKTYPE in dvd cd bd dlbd; do for DISKTYPE in $DISKTYPES; do
for DIRTYPE in bt iso jigdo list; do for DIRTYPE in $DIRTYPES; do
mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE
done done
done done
@ -57,24 +67,45 @@ copy_files() {
-o -name '*.list.gz' -o -name '*SUMS*' | \ -o -name '*.list.gz' -o -name '*SUMS*' | \
xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG
# Only make torrent files and dirs for release builds
rm -rf bt-* rm -rf bt-*
mkdir bt-cd bt-dvd bt-bd bt-dlbd for DISKTYPE in $DISKTYPES; do
for FILE in iso-*/*.iso; do if [ "$RELEASE_BUILD"x != ""x ] ; then
mkdir bt-$DISKTYPE
fi
for FILE in iso-$DISKTYPE/*.iso; do
if [ -e $FILE ] ; then if [ -e $FILE ] ; then
process_iso $FILE $TARGET/$ARCH.tmp process_iso $FILE $TARGET/$ARCH.tmp
fi fi
done done
for DISKTYPE in dvd cd bd dlbd; do if [ "$RELEASE_BUILD"x != ""x ] ; then
for FILE in $TARGET/$ARCH.tmp/iso-$DISKTYPE/*SUMS*; do for FILE in $TARGET/$ARCH.tmp/iso-$DISKTYPE/*SUMS*; do
if [ -e $FILE ] ; then if [ -e $FILE ] ; then
cp -al $FILE $TARGET/$ARCH.tmp/bt-$DISKTYPE/ cp -al $FILE $TARGET/$ARCH.tmp/bt-$DISKTYPE/
fi fi
done done
fi
done done
if [ "$RELEASE_BUILD"x = ""x ] ; then
# Only populate the HEADER.html file for regular weekly
# builds; we don't want it for releases
DATE=`date -u` DATE=`date -u`
sed "s/ARCH/$ARCH/g;s/DATE/$DATE/g" ~/build/weekly.html \ sed "s/ARCH/$ARCH/g;s/DATE/$DATE/g" ~/build.wheezy/weekly.html \
> $TARGET/$ARCH.tmp/HEADER.html > $TARGET/$ARCH.tmp/HEADER.html
fi
# Now clean up any directories without any real content
# (i.e. empty dir, or just containing checksum files)
for dir in $TARGET/$ARCH.tmp/*-* ; do
num=`ls -l $dir | grep -v -e SUMS -e total | wc -l`
if [ $num = 0 ] ; then
rm -rf $dir
fi
done
cd .. cd ..
done done
cd $CURRENT cd $CURRENT
} }

View File

@ -5,8 +5,8 @@ export HOSTNAME=`hostname -f`
export PUBDIR=/org/cdbuilder.debian.org/dst/deb-cd export PUBDIR=/org/cdbuilder.debian.org/dst/deb-cd
export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian
export BASEDIR=~/build/debian-cd export BASEDIR=~/build.wheezy/debian-cd
export MKISOFS=~/build/mkisofs/usr/bin/mkisofs export MKISOFS=~/build.wheezy/mkisofs/usr/bin/mkisofs
if [ "$DATE"x = ""x ] ; then if [ "$DATE"x = ""x ] ; then
export DATE=`date -u +%Y%m%d` export DATE=`date -u +%Y%m%d`
fi fi

View File

@ -13,11 +13,11 @@
#set -x #set -x
if [ "$CONF"x = ""x ] ; then if [ "$CONF"x = ""x ] ; then
CONF=~/build/CONF.sh CONF=~/build.wheezy/CONF.sh
fi fi
export CF=$CONF export CF=$CONF
if [ "$DCD_DIR"x = ""x ] ; then if [ "$DCD_DIR"x = ""x ] ; then
DCD_DIR=~/build/debian-cd DCD_DIR=~/build.wheezy/debian-cd
fi fi
export CF=$CONF export CF=$CONF
@ -145,15 +145,29 @@ START=`now`
if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
# if it went ok get things ready for publishing # if it went ok get things ready for publishing
# we treat the daily netinst images in a different way # we treat the daily netinst images in a different way
if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then if [ "$INSTALLER_CD" = "1" ] || \
[ "$INSTALLER_CD" = "2" ] || \
[ "$INSTALLER_CD" = "C" ] ; then
################################## ##################################
# NETINST STUFF # NETINST STUFF
################################## ##################################
ARCHDIR="$PUBDIRJIG"/${DI}_d-i/$DATE_BUILD/$OUTARCH if [ "$INSTALLER_CD" = "C" ] ; then
mkdir -p $ARCHDIR/list-cd if [ "${DI}" = "sid" ] ; then
ARCHDIR=$OUT_FW_SID/$OUTARCH
else
ARCHDIR=$OUT_FW_TST/$OUTARCH
fi
else # non-FW build
if [ "${DI}" = "sid" ] ; then
ARCHDIR=$OUT_FREE_SID/$OUTARCH
else
ARCHDIR=$OUT_FREE_TST/$OUTARCH
fi
fi
mkdir -p $ARCHDIR/list-cd
# put the isos and jigdos in their place # put the isos and jigdos in their place
for i in "$OUT"/*-1.iso; do for i in "$OUT"/*-1.iso; do
BASE=`basename $i .iso` BASE=`basename $i .iso`
@ -173,31 +187,6 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
mkdir -p "$PUBDIRJIG"/$OUTARCH mkdir -p "$PUBDIRJIG"/$OUTARCH
echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
elif [ "$INSTALLER_CD" = "C" ] ; then
##################################
# FIRMWARE NETINST STUFF
##################################
ARCHDIR="$PUBDIRJIG"-firmware/${DI}_d-i/$DATE_BUILD/$OUTARCH
# put the isos and jigdos in their place
for i in "$OUT"/*-1.iso; do
BASE=`basename $i .iso`
NETINSTNAME=`echo $BASE | sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g'`
mv $OUT/$BASE.iso $ARCHDIR/iso-cd/$NETINSTNAME.iso
cat $OUT/$BASE.jigdo | \
sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g' | \
gzip --best --no-name > $ARCHDIR/jigdo-cd/$NETINSTNAME.jigdo
rm $OUT/$BASE.jigdo
mv $OUT/$BASE.template $ARCHDIR/jigdo-cd/$NETINSTNAME.template
# Make sure that the ISO is as new/newer than the jigdo file; #587774
touch $ARCHDIR/iso-cd/$NETINSTNAME.iso
done
rm -f "$OUT"/*
END=`now`
mkdir -p "$PUBDIRJIG"/$OUTARCH
echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
else else
####################################### #######################################
@ -256,7 +245,7 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
for i in $MYEMAIL for i in $MYEMAIL
do do
grep -e "extents written" -e "Written to medi." "$LOGFILE"|mail -s "testingcds $RUN went ok" "$i" grep -e "extents written" -e "Written to medi." "$LOGFILE"|mail -s "$RELEASE_BUILD testingcds $RUN ($OUTARCH $DISKTYPE) went ok" "$i"
done done
overview "$RUN" success overview "$RUN" success