From 8f45f720339e2d0c44ec486af46b46c42336508d Mon Sep 17 00:00:00 2001 From: cd-builder user Date: Fri, 2 Jul 2010 23:24:56 +0000 Subject: [PATCH] current script versions from farbror --- contrib/cronjob.daily | 61 +++++++----- contrib/cronjob.weekly | 214 +++++++++++++++++++++++++++++++---------- contrib/settings.sh | 10 +- contrib/testingcds | 46 +++++++-- 4 files changed, 242 insertions(+), 89 deletions(-) diff --git a/contrib/cronjob.daily b/contrib/cronjob.daily index 7220bb38..fd5946bf 100755 --- a/contrib/cronjob.daily +++ b/contrib/cronjob.daily @@ -23,8 +23,9 @@ finalise_arch_dir () { ARCH_JIGDO_DIR=$PUBDIRISO/${INST_VER}_d-i/$DATE_BUILD/$ARCH/jigdo-cd if [ -e $ARCH_ISO_DIR ] ; then cd $ARCH_ISO_DIR - zsyncmake -e -u *businesscard*iso *businesscard*iso > /dev/null - zsyncmake -e -u *netinst*iso *netinst*iso > /dev/null + for file in *businesscard*iso *netinst*iso; do + zsyncmake -e -u $file $file > /dev/null + done DATESTRING=`date -u` sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" $TOPDIR/daily.html > HEADER.html $TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR $SUMS_EXTENSION @@ -33,13 +34,15 @@ finalise_arch_dir () { ~/build/mktorrent iso-cd/*iso ~/build/mklist iso-cd/*iso cd $TOPDIR + else + echo "finalise_arch_dir: $ARCH_ISO_DIR does not exist!" fi } -export RSYNC_TARGET=/export/ftp/cdimage/daily-builds +export RSYNC_TARGET=/mnt/nfs-cdimage/daily-builds if [ "$ARCHES"x = ""x ] ; then - ARCHES="alpha amd64 armel hppa i386 ia64 mips mipsel powerpc sparc multi-arch" + ARCHES="amd64 armel hppa i386 ia64 mips mipsel powerpc sparc multi-arch" fi cd $TOPDIR && @@ -58,6 +61,18 @@ if lockfile -r0 .debian-cd.lock ; then for arch in $ARCHES; do echo "Building $arch:" if [ "$arch" = "multi-arch" ] ; then + + echo " i386/amd64/ppc sid netinst WITH FIRMWARE" + OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ + NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \ + FORCE_FIRMWARE=1 CDNAME=firmware \ + TASK=debian-installer+kernel LOGAPPEND="-1" \ + MAXISOS=ALL MAXJIGDOS=ALL \ + DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \ + DI_WWW_HOME=default ./testingcds "amd64 i386 powerpc" + rm -rf $PUBDIRISO/sid_d-i/$DATE_BUILD/multi-arch + mv -v $PUBDIRISO/sid_d-i/$DATE_BUILD/multi $PUBDIRISO/sid_d-i/$DATE_BUILD/multi-arch + echo " i386/amd64/ppc sid netinst" OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ @@ -65,16 +80,9 @@ if lockfile -r0 .debian-cd.lock ; then MAXISOS=ALL MAXJIGDOS=ALL \ DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \ DI_WWW_HOME=default ./testingcds "amd64 i386 powerpc" - echo " alpha/hppa/ia64 sid netinst" - OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ - NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ - TASK=debian-installer+kernel LOGAPPEND="-2" \ - MAXISOS=ALL MAXJIGDOS=ALL \ - DI=sid DI_DIST="$DI_DIST" \ - DI_WWW_HOME=default ./testingcds "alpha hppa ia64" + cp -av $PUBDIRISO/sid_d-i/$DATE_BUILD/multi/. $PUBDIRISO/sid_d-i/$DATE_BUILD/multi-arch + rm -rf $PUBDIRISO/sid_d-i/$DATE_BUILD/multi finalise_arch_dir $arch sid - rm -rf $PUBDIRISO/sid_d-i/$DATE_BUILD/multi-arch - mv $PUBDIRISO/sid_d-i/$DATE_BUILD/multi $PUBDIRISO/sid_d-i/$DATE_BUILD/multi-arch echo " i386/amd64/ppc squeeze netinst" OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ @@ -83,19 +91,24 @@ if lockfile -r0 .debian-cd.lock ; then MAXISOS=ALL MAXJIGDOS=ALL \ DI=squeeze DI_DIST="$DI_DIST" VARIANTS=xen \ ./testingcds "amd64 i386 powerpc" - echo " alpha/hppa/ia64 squeeze netinst" - OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ - NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \ - TASK=debian-installer+kernel LOGAPPEND="-2" \ - MAXISOS=ALL MAXJIGDOS=ALL \ - DI=squeeze DI_DIST="$DI_DIST" \ - ./testingcds "alpha hppa ia64" - finalise_arch_dir $arch squeeze rm -rf $PUBDIRISO/squeeze_d-i/$DATE_BUILD/multi-arch - mv $PUBDIRISO/squeeze_d-i/$DATE_BUILD/multi $PUBDIRISO/squeeze_d-i/$DATE_BUILD/multi-arch + mv -v $PUBDIRISO/squeeze_d-i/$DATE_BUILD/multi $PUBDIRISO/squeeze_d-i/$DATE_BUILD/multi-arch + finalise_arch_dir $arch squeeze else # end of m-a + case $arch in + i386|amd64|powerpc) + echo " $arch sid netinst WITH FIRMWARE" + OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ + FORCE_FIRMWARE=1 CDNAME=firmware \ + NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \ + TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \ + DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \ + ./testingcds "$arch" + ;; + esac + echo " $arch sid bc" OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \ NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \ @@ -123,12 +136,12 @@ if lockfile -r0 .debian-cd.lock ; then DI=squeeze DI_DIST="$DI_DIST" \ ./testingcds "$arch" finalise_arch_dir $arch squeeze - + fi # end of normal arch build done if [ "$NOSYNC"x = ""x ] ; then - echo "Sync across to output dir on farbror" + echo "Sync across to output dir: $RSYNC_TARGET" rsync -rHltv $PUBDIRISO/ $RSYNC_TARGET/ echo "Remove extra dailies:" ~/bin/remove_extra_dailies diff --git a/contrib/cronjob.weekly b/contrib/cronjob.weekly index 96015674..de68dd47 100755 --- a/contrib/cronjob.weekly +++ b/contrib/cronjob.weekly @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash export TOPDIR=$(dirname $0) @@ -8,7 +8,11 @@ export PUBDIRJIG=$PUBDIR/weekly-builds export PUBDIRISO=$PUBDIR/weekly-builds export DATE_BUILD="$DATE-$BUILDNUM" -export RSYNC_TARGET=/export/ftp/cdimage/weekly-builds +export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds + +if [ "$PARALLEL"x = ""x ] ; then + PARALLEL=0 +fi # If we're doing a normal set of daily/weekly builds, leave the # checksum filenames alone. Otherwise, make life easier for people @@ -21,7 +25,7 @@ fi # Uncomment the following to use daily d-i builds for weekly images # rather than what's in the archive -USE_DAILY_DI=Y +USE_DAILY_DI=N if [ "$USE_DAILY_DI"x = "Y"x ] ; then export DI=sid @@ -34,31 +38,74 @@ export DI_CODENAME OMIT_RELEASE_NOTES=0 export OMIT_RELEASE_NOTES +BUILDS_RUNNING="" + +now () { + date -u +%F:%H:%M:%S +} + +calc_time () { + echo $1 $2 | awk ' + { + split($1, start, ":") + start_time = (3600*start[2]) + (60*start[3]) + start[4] + split($2, end, ":") + end_time = (3600*end[2]) + (60*end[3]) + end[4] + # Cope with going to a new day; do not worry about more than 1 day! + if (start[1] != end[1]) { end_time += 86400 } + time_taken = end_time - start_time + hours = int(time_taken / 3600) + time_taken -= (hours * 3600) + minutes = int(time_taken / 60) + time_taken -= (minutes * 60) + seconds = time_taken + printf("%dh%2.2dm%2.2ds\n", hours, minutes, seconds) + }' +} + +build_finished () { + ARCH="$1" + BUILDNAME="$2" + BUILDNAMESTART="${BUILDNAME}START" + start=${!BUILDNAMESTART} + + . $PUBDIRJIG/$ARCH/$BUILDNAME-trace + + time_spent=`calc_time $start $end` + echo "$ARCH $BUILDNAME build started at $start, ended at $end (took $time_spent), error $error" + if [ $error -ne 0 ] ; then + arch_error="$arch_error "$BUILDNAME"FAIL/$error/$end" + fi +} + if [ "$ARCHES"x = ""x ] ; then - ARCHES="i386 source amd64 multi powerpc alpha armel hppa ia64 mips mipsel s390 sparc" + ARCHES="i386 source amd64 multi powerpc armel hppa ia64 mips mipsel s390 sparc" fi if lockfile -r0 $TOPDIR/.debian-cd.lock ; then +# echo "NOT checking for svn updates" echo "svn update debian-cd" cd debian-cd && svn cleanup; svn up ; cd .. +# echo "NOT checking for popcon updates" 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 + arch_error="" if [ "$arch" != multi ] ; then rm -rf $PUBDIRJIG/$arch mkdir -p $PUBDIRJIG/$arch - date + arch_start=`now` #export DI_DIR="$ARCH_DI_DIR" # Full CD set if [ "$NOCD"x = ""x ] ; then + export MAX_PKG_SIZE=500000000 case $arch in i386|amd64|source) export MAXISOS=ALL; export MAXJIGDOS=ALL ;; @@ -67,46 +114,64 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then *) export MAXISOS=3; export MAXJIGDOS=ALL ;; esac - CDSTART=`date -u +%H:%M:%S` + CDSTART=`now` unset DESKTOP - ./testingcds "$arch" - error=$? - CDEND=`date -u +%H:%M:%S` - echo "$arch CDs started at $CDSTART, ended at $CDEND, error $error" + export BUILDNAME="CD" + BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME" + if [ $PARALLEL = 1 ] ; then + ./testingcds "$arch" & + else + ./testingcds "$arch" + build_finished $arch $BUILDNAME + fi fi # Full DVD set if [ "$NODVD"x = ""x ] ; then + export MAX_PKG_SIZE=999999999999 case $arch in i386|amd64|source) export MAXISOS=ALL; export MAXJIGDOS=ALL ;; *) - export MAXISOS=1; export MAXJIGDOS=ALL ;; + export MAXISOS=ALL; export MAXJIGDOS=ALL ;; esac - DVDSTART=`date -u +%H:%M:%S` + DVDSTART=`now` 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" + export BUILDNAME="DVD" + BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME" + if [ $PARALLEL = 1 ] ; then + INSTALLER_CD=3 TASK=Debian-all \ + KERNEL_PARAMS='desktop=all' \ + ./testingcds "$arch" & + else + INSTALLER_CD=3 TASK=Debian-all \ + KERNEL_PARAMS='desktop=all' \ + ./testingcds "$arch" + build_finished $arch $BUILDNAME + fi fi # Full BD set if [ "$NOBD"x = ""x ] ; then + export MAX_PKG_SIZE=999999999999 case $arch in i386|amd64|source) export MAXISOS=0 export MAXJIGDOS=ALL - BDSTART=`date -u +%H:%M:%S` + BDSTART=`now` 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" + export BUILDNAME="BD" + BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME" + if [ $PARALLEL = 1 ] ; then + INSTALLER_CD=9 TASK=Debian-all \ + KERNEL_PARAMS='desktop=all' \ + ./testingcds "$arch" & + else + INSTALLER_CD=9 TASK=Debian-all \ + KERNEL_PARAMS='desktop=all' \ + ./testingcds "$arch" + build_finished $arch $BUILDNAME + fi ;; *) echo "Not running BD build for $arch" @@ -116,32 +181,75 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then # kde and xfce/lxde cds if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then - CDSTART=`date -u +%H:%M:%S` + KDECDSTART=`now` + export MAX_PKG_SIZE=300000000 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" + export BUILDNAME="KDECD" + BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME" + if [ $PARALLEL = 1 ] ; then + INSTALLER_CD=4 TASK=Debian-kde \ + KERNEL_PARAMS='desktop=kde' \ + MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ + ./testingcds "$arch" & + else + INSTALLER_CD=4 TASK=Debian-kde \ + KERNEL_PARAMS='desktop=kde' \ + MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ + ./testingcds "$arch" + build_finished $arch $BUILDNAME + fi - CDSTART=`date -u +%H:%M:%S` + LIGHTCDSTART=`now` + export MAX_PKG_SIZE=300000000 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" + export BUILDNAME="LIGHTCD" + BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME" + if [ $PARALLEL = 1 ] ; then + INSTALLER_CD=B TASK=Debian-light \ + KERNEL_PARAMS='desktop=light' \ + MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ + ./testingcds "$arch" & + else + INSTALLER_CD=B TASK=Debian-light \ + KERNEL_PARAMS='desktop=light' \ + MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ + ./testingcds "$arch" + build_finished $arch $BUILDNAME + fi fi + # Catch parallel builds here + while [ "$BUILDS_RUNNING"x != ""x ] ; do + BUILDS_STILL_RUNNING="" + for BUILDNAME in $BUILDS_RUNNING; do + if [ -e $PUBDIRJIG/$arch/$BUILDNAME-trace ] ; then + build_finished $arch $BUILDNAME + else + BUILDS_STILL_RUNNING="$BUILDS_STILL_RUNNING $BUILDNAME" + fi + done + BUILDS_RUNNING=$BUILDS_STILL_RUNNING + if [ "$BUILDS_RUNNING"x != ""x ] ; then + sleep 1 + fi + done + arch_end=`now` + + if [ "$arch_error"x = ""x ] ; then + arch_error="none" + fi + arch_time=`calc_time $arch_start $arch_end` + echo "$ARCH build started at $arch_start, ended at $arch_end (took $arch_time), error(s) $arch_error" + if [ "$NOSYNC"x = ""x ] ; then - echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &" - ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch & + if [ "$arch_error"x = "none"x ] ; then + echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &" + ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch & + else + ~/build/report_build_error $RSYNC_TARGET $arch "$arch_error" + fi fi else # multi rm -rf $PUBDIRJIG/multi-arch @@ -150,15 +258,17 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then done if [ "$NODVD"x = ""x ] ; then - DVDSTART=`date -u +%H:%M:%S` + export MAX_PKG_SIZE=999999999999 + DVDSTART=`now` export DESKTOP=all + export BUILDNAME="DVD" 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" + # We don't do multi in parallel, only one build type + # to do! + build_finished $arch $BUILDNAME $DVDSTART mv $PUBDIRJIG/multi/jigdo-dvd/debian* $PUBDIRJIG/multi-arch/jigdo-dvd for file in $PUBDIRJIG/multi/jigdo-dvd/*SUMS$SUMS_EXTENSION; do @@ -176,8 +286,12 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then fi if [ "$NOSYNC"x = ""x ] ; then - echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &" - ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch & + if [ "$arch_error"x = "none"x ] || [ "$arch_error"x = ""x ] ; then + echo "Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &" + ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch & + else + ~/build/report_build_error $RSYNC_TARGET multi-arch "$arch_error" + fi fi fi # end of multi diff --git a/contrib/settings.sh b/contrib/settings.sh index a0036a36..145de2d9 100644 --- a/contrib/settings.sh +++ b/contrib/settings.sh @@ -1,15 +1,15 @@ -export TRACE=/org/cdbuilder.debian.org/src/ftp/debian/project/trace/farbror.acc.umu.se +export TRACE=/org/cdbuilder.debian.org/src/ftp/debian/project/trace/pettersson.debian.org export ARCH_DI_DIR=/org/cdbuilder.debian.org/src/deb-cd/d-i export HOSTNAME=`hostname -f` export PUBDIR=/org/cdbuilder.debian.org/dst/deb-cd export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian -export BASEDIR=/home/deb-cd/build/debian-cd -export MKISOFS=/home/deb-cd/build/mkisofs/usr/bin/mkisofs +export BASEDIR=~/build/debian-cd +export MKISOFS=~/build/mkisofs/usr/bin/mkisofs if [ "$DATE"x = ""x ] ; then export DATE=`date -u +%Y%m%d` fi -export PARALLEL=0 +export PARALLEL=1 -export EXTRACTED_SOURCES=/export/ftp/cdimage/cd-sources +export EXTRACTED_SOURCES=/mnt/nfs-cdimage/cd-sources diff --git a/contrib/testingcds b/contrib/testingcds index c9d25515..7115253a 100644 --- a/contrib/testingcds +++ b/contrib/testingcds @@ -15,6 +15,10 @@ CONF=~/build/CONF.sh export CF=$CONF +now () { + date -u +%F:%H:%M:%S +} + # Set up and cleaning if [ $# -lt 1 ] ; then echo $0 \$ARCH @@ -36,7 +40,7 @@ fi # $DI is used to set DI_CODENAME and also to specify the directory for images if [ "$DI" ] ; then export DI_CODENAME="$DI" - if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then + if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" -o "$INSTALLER_CD" = "C" ] ; then PUBDIRJIG="$PUBDIRJIG"/"$DI"_d-i PUBDIRISO="$PUBDIRISO"/"$DI"_d-i fi @@ -54,7 +58,7 @@ export LOGFILE="$LOG/$RUN" case "$INSTALLER_CD" in 1) export DISKTYPE=BC;; - 2|7|8) + 2|7|8|C) export DISKTYPE=NETINST;; 3|6) export OUT_TYPE=dvd @@ -77,6 +81,12 @@ if [ "$OUT_TYPE"x = ""x ] ; then OUT_TYPE=cd fi +if [ "$BUILDNAME"x = ""x ] ; then + TRACEFILE="$OUT_TYPE-trace" +else + TRACEFILE="$BUILDNAME-trace" +fi + export IMAGETARGET=official_images cd debian-cd && . $CONF echo Making $ARCH "$DISKTYPE" in $OUT @@ -104,6 +114,8 @@ elif [ "$INSTALLER_CD" = "7" ]; then export OFFICIAL="Official Multi-Arch Netinst" elif [ "$INSTALLER_CD" = "8" ]; then export OFFICIAL="Official Multi-Arch Netinst" +elif [ "$INSTALLER_CD" = "C" ]; then + export OFFICIAL="Unofficial Netinst including firmware" fi rm -rf "$OUT" @@ -125,7 +137,7 @@ overview () { if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then # if it went ok get things ready for publishing # we treat the daily netinst images in a different way - if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then + if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" -o "$INSTALLER_CD" = "C" ] ; then ################################## # NETINST STUFF @@ -139,12 +151,14 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then 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 $TOPDIR/iso-cd/$NETINSTNAME.iso + mv -v $OUT/$BASE.iso $TOPDIR/iso-cd/$NETINSTNAME.iso cat $OUT/$BASE.jigdo | \ sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g' | \ gzip --best --no-name > $TOPDIR/jigdo-cd/$NETINSTNAME.jigdo rm $OUT/$BASE.jigdo - mv $OUT/$BASE.template $TOPDIR/jigdo-cd/$NETINSTNAME.template + mv -v $OUT/$BASE.template $TOPDIR/jigdo-cd/$NETINSTNAME.template + # Make sure that the ISO is as new/newer than the jigdo file; #587774 + touch $TOPDIR/iso-cd/$NETINSTNAME.iso done rm -f "$OUT"/* @@ -160,18 +174,26 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then mv $i ${i%.gz} done + # Make sure that the ISOs are as new/newer than the jigdo files; #587774 + touch "$OUT"/*.iso + mkdir -p "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} - cat "$OUT"/MD5SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/MD5SUMS$SUMS_EXTENSION - cat "$OUT"/SHA1SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/SHA1SUMS$SUMS_EXTENSION + for file in "$OUT"/*SUMS${SUMS_EXTENSION}; do + outfile="$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/`basename $file` + cat $file >> $outfile + done mv "$OUT"/*.template "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} mv "$OUT"/*.jigdo "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} mkdir -p "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE} - cat "$OUT"/MD5SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/MD5SUMS$SUMS_EXTENSION - cat "$OUT"/SHA1SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/SHA1SUMS$SUMS_EXTENSION + for file in "$OUT"/*SUMS${SUMS_EXTENSION}; do + outfile="$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/`basename $file` + cat $file >> $outfile + done mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE} - date > "$PUBDIRJIG"/$OUTARCH/"$OUT_TYPE"-trace + DATE=`now` + echo -e "end=$DATE\nerror=0\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE fi touch $TDIR/$CODENAME/1.pkgs_extracted # so we don't get errors below @@ -208,4 +230,8 @@ else mail -s "testingcds $RUN has failed; log included" "$i" done overview "$RUN" failed + DATE=`now` + mkdir -p "$PUBDIRJIG"/$OUTARCH + echo -e "end=$DATE\nerror=1\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE + exit 1 fi