Merge the latest versions of scripts and config into debian-cd

This commit is contained in:
Steve McIntyre 2012-07-06 00:30:17 +00:00
parent 004f73c9aa
commit 93ada81489
12 changed files with 179 additions and 69 deletions

View File

@ -47,8 +47,8 @@ unset BASE_EXCLUDE || true
# Where I am (hoping I'm in the debian-cd dir) # Where I am (hoping I'm in the debian-cd dir)
export BASEDIR=`pwd` export BASEDIR=`pwd`
# Building squeeze cd set ... # Building wheezy cd set ...
export CODENAME=squeeze export CODENAME=wheezy
if [ ! "$DI_CODENAME" ] if [ ! "$DI_CODENAME" ]
then then
@ -145,23 +145,27 @@ export CONTRIB=1
# Options # Options
#export MKISOFS="$BASEDIR/../mkisofs/usr/bin/mkisofs" #export MKISOFS="$BASEDIR/../mkisofs/usr/bin/mkisofs"
#export MKISOFS="$BASEDIR/../genisoimage/usr/bin/genisoimage" #export MKISOFS="$BASEDIR/../genisoimage/usr/bin/genisoimage"
export MKISOFS="$BASEDIR/../genisoimage" #export MKISOFS="$BASEDIR/../genisoimage"
#export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512" #export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r " #-checksum_algorithm_iso md5,sha1" #export MKISOFS_OPTS="-joliet-long -jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512" #-checksum_algorithm_iso md5,sha1"
# export MKISOFS_OPTS="-r" #For normal users # export MKISOFS_OPTS="-r" #For normal users
# export MKISOFS_OPTS="-r -F ." #For symlink farmers # export MKISOFS_OPTS="-r -F ." #For symlink farmers
export MKISOFS="/home/93sam/xorriso"
export MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
# Override for i386,amd64,multi to use xorriso. # Override for i386,amd64,multi to use xorriso.
# BE AWARE: for multi-arch the order of the arches here will have to # BE AWARE: for multi-arch the order of the arches here will have to
# match the order they're declared in the build # match the order they're declared in the build
export i386_MKISOFS="/home/93sam/xorriso" #export i386_MKISOFS="/home/93sam/xorriso"
export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1" #export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
export amd64_MKISOFS="/home/93sam/xorriso" #export amd64_MKISOFS="/home/93sam/xorriso"
export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1" #export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
export amd64_i386_MKISOFS="/home/93sam/xorriso" #export amd64_i386_MKISOFS="/home/93sam/xorriso"
export amd64_i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1" #export amd64_i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
export i386_amd64_source_MKISOFS="/home/93sam/xorriso" #export i386_amd64_source_MKISOFS="/home/93sam/xorriso"
export i386_amd64_source_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1" #export i386_amd64_source_MKISOFS_OPTS="-as mkisofs -joliet-long -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
export powerpc_MKISOFS="$BASEDIR/../genisoimage"
export powerpc_MKISOFS_OPTS="-joliet-long -jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512" #-checksum_algorithm_iso md5,sha1"
# ISOLinux support for multiboot on CD1 for i386 # ISOLinux support for multiboot on CD1 for i386
export ISOLINUX=1 export ISOLINUX=1
@ -199,7 +203,7 @@ export TASK_LANGLIST=tasksel_d-i.languages
# Set this if the recommended packages should be skipped when adding # Set this if the recommended packages should be skipped when adding
# package on the CD. The default is 'false'. # package on the CD. The default is 'false'.
export NORECOMMENDS=1 export NORECOMMENDS=0
# Set this if the suggested packages should be skipped when adding # Set this if the suggested packages should be skipped when adding
# package on the CD. The default is 'true'. # package on the CD. The default is 'true'.
@ -309,3 +313,8 @@ case "$OFFICIAL"x in
export OFFICIAL_VAL=0 export OFFICIAL_VAL=0
;; ;;
esac esac
# Base link for snapshot.debian.org or similar
# "SNAPDATETIME" will be replaced at runtime with the correct data
# Leave this unset to not add this entry
export SNAPURL=Debian=http://snapshot.debian.org/archive/debian/SNAPDATETIME/

View File

@ -1,9 +1,43 @@
# Common handy shell script functions # Common handy shell script functions
l=/var/run/reboot-lock
reboot_lock () {
exec 3<$l
if ! flock --shared -w 0 3; then
echo 2>&1 "Cannot acquire reboot lock."
#exit 1
fi
}
reboot_unlock () {
flock --shared -u 3
}
now () { now () {
date -u +%F:%H:%M:%S date -u +%F:%H:%M:%S
} }
build_description () {
case $1 in
CD)
DESC="Full CD";;
DVD)
DESC="Full DVD";;
BD)
DESC="Blu-ray";;
DLBD)
DESC="Dual-layer Blu-ray";;
KDE)
DESC="KDE CD";;
LIGHTCD)
DESC="XFCE/lxde CD";;
*)
DESC="UNKNOWN";;
esac
echo "$DESC"
}
calc_time () { calc_time () {
echo $1 $2 | awk ' echo $1 $2 | awk '
{ {
@ -40,7 +74,7 @@ build_finished () {
time_spent=`calc_time $start $end` time_spent=`calc_time $start $end`
echo " $ARCH $BUILDNAME build started at $start, ended at $end (took $time_spent), error $error" echo " $ARCH $BUILDNAME build started at $start, ended at $end (took $time_spent), error $error"
if [ $error -ne 0 ] ; then if [ $error -ne 0 ] ; then
arch_error="$arch_error "$BUILDNAME"FAIL/$error/$end" arch_error="$arch_error "$BUILDNAME"FAIL/$error/$end/$logfile"
fi fi
} }

View File

@ -6,13 +6,16 @@ TOPDIR=$(dirname $0)
export PUBDIRJIG=$PUBDIR/daily-builds export PUBDIRJIG=$PUBDIR/daily-builds
export DATE_BUILD="$DATE-$BUILDNUM" export DATE_BUILD="$DATE-$BUILDNUM"
export TESTING_SUITE=squeeze export TESTING_SUITE=wheezy
BUILDS_RUNNING="" BUILDS_RUNNING=""
export SID_WANTED=1 export SID_WANTED=1
. $TOPDIR/common.sh . $TOPDIR/common.sh
# Make sure the machine isn't rebooted while we're busy
reboot_lock
# If we're doing a normal set of daily/weekly builds, leave the # If we're doing a normal set of daily/weekly builds, leave the
# checksum filenames alone. Otherwise, make life easier for people # checksum filenames alone. Otherwise, make life easier for people
# combining things later and append a suitable name as we build. # combining things later and append a suitable name as we build.
@ -54,15 +57,16 @@ finalise_arch_dir () {
cd .. cd ..
~/build/mktorrent iso-cd/*iso ~/build/mktorrent iso-cd/*iso
~/build/mklist iso-cd/*iso ~/build/mklist iso-cd/*iso
cp iso-cd/*SUMS* bt-cd
cd $TOPDIR cd $TOPDIR
fi fi
} }
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware 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 hppa 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"
fi fi

View File

@ -9,6 +9,9 @@ export DATE_BUILD="$DATE-$BUILDNUM"
. $TOPDIR/common.sh . $TOPDIR/common.sh
# Make sure the machine isn't rebooted while we're busy
reboot_lock
export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds
# If we're doing a normal set of daily/weekly builds, leave the # If we're doing a normal set of daily/weekly builds, leave the
@ -22,23 +25,22 @@ fi
# Uncomment the following to use daily d-i builds for weekly images # Uncomment the following to use daily d-i builds for weekly images
# rather than what's in the archive # rather than what's in the archive
USE_DAILY_DI=N #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
else
unset DI_WWW_HOME
fi fi
export DI_DIST export DI_DIST
export DI_CODENAME export DI_CODENAME
OMIT_RELEASE_NOTES=0
export OMIT_RELEASE_NOTES
BUILDS_RUNNING="" BUILDS_RUNNING=""
if [ "$ARCHES"x = ""x ] ; then if [ "$ARCHES"x = ""x ] ; then
ARCHES="i386 source amd64 multi powerpc armel hppa ia64 mips mipsel s390 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 $TOPDIR/.debian-cd.lock ; then
@ -47,23 +49,26 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
cd debian-cd && svn cleanup; svn up ; cd .. cd debian-cd && svn cleanup; svn up ; cd ..
# echo "NOT checking for popcon updates" # echo "NOT checking for popcon updates"
cd debian-cd && ./tools/update_popcon tasks/squeeze/popularity-contest ; cd .. cd debian-cd && ./tools/update_popcon tasks/wheezy/popularity-contest ; cd ..
cd $TOPDIR cd $TOPDIR
mkdir -p $PUBDIRJIG/trace mkdir -p $PUBDIRJIG/trace
mkdir -p $RSYNC_TARGET mkdir -p $RSYNC_TARGET
for arch in $ARCHES; do for arch in $ARCHES; do
# Reset envvars for next iteration
arch_error="" arch_error=""
if [ "$arch" != multi ] ; then if [ "$arch" != multi ] ; then
rm -rf $PUBDIRJIG/$arch rm -rf $PUBDIRJIG/$arch
mkdir -p $PUBDIRJIG/$arch mkdir -p $PUBDIRJIG/$arch
arch_start=`now` arch_start=`now`
#export DI_DIR="$ARCH_DI_DIR" # export DI_DIR="$ARCH_DI_DIR"
export VARIANTS=""
# Full CD set # Full CD set
if [ "$NOCD"x = ""x ] && [ "$NOFULLCD"x = ""x ] ; then if [ "$NOCD"x = ""x ] && [ "$NOFULLCD"x = ""x ] ; then
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|source)
@ -73,16 +78,24 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
*) *)
export MAXISOS=3; export MAXJIGDOS=ALL ;; export MAXISOS=3; export MAXJIGDOS=ALL ;;
esac esac
unset DESKTOP
build_started CD build_started CD
./testingcds "$arch" & ./testingcds "$arch" &
fi fi
# Full DVD set # Full DVD set
if [ "$NODVD"x = ""x ] ; then if [ "$NODVD"x = ""x ] ; then
unset FORCE_CD_SIZE1
export MAX_PKG_SIZE=999999999999 export MAX_PKG_SIZE=999999999999
case $arch in case $arch in
i386|amd64|source) i386|amd64)
export MAXISOS=ALL
export MAXJIGDOS=ALL
export VARIANTS=xen
# Special case: make DVD1 fit on a 4GB USB
# stick (#612074)
export FORCE_CD_SIZE1=STICK4GB
;;
source)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;; export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
*) *)
export MAXISOS=1; export MAXJIGDOS=ALL ;; export MAXISOS=1; export MAXJIGDOS=ALL ;;
@ -96,12 +109,15 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
# Full BD set # Full BD set
if [ "$NOBD"x = ""x ] ; then if [ "$NOBD"x = ""x ] ; then
unset DESKTOP
unset FORCE_CD_SIZE1
export MAX_PKG_SIZE=999999999999 export MAX_PKG_SIZE=999999999999
case $arch in case $arch in
i386|amd64|source) i386|amd64|source)
export MAXISOS=0 export MAXISOS=0
export MAXJIGDOS=ALL export MAXJIGDOS=ALL
export DESKTOP=all export DESKTOP=all
export VARIANTS=xen
build_started BD build_started BD
INSTALLER_CD=9 TASK=Debian-all \ INSTALLER_CD=9 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \ KERNEL_PARAMS='desktop=all' \
@ -113,12 +129,36 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
esac esac
fi fi
# Full DLBD set
if [ "$NOBD"x = ""x ] ; then
unset DESKTOP
unset FORCE_CD_SIZE1
export MAX_PKG_SIZE=999999999999
case $arch in
i386|amd64|source)
export MAXISOS=0
export MAXJIGDOS=ALL
export DESKTOP=all
export VARIANTS=xen
build_started DLBD
INSTALLER_CD=D TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
./testingcds "$arch" &
;;
*)
echo " Not running DLBD build for $arch"
;;
esac
fi
# kde and xfce/lxde cds # kde and xfce/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
export DESKTOP=kde export DESKTOP=kde
export MAXISOS=1; export MAXJIGDOS=1 export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
build_started KDECD build_started KDECD
INSTALLER_CD=4 TASK=Debian-kde \ INSTALLER_CD=4 TASK=Debian-kde \
KERNEL_PARAMS='desktop=kde' \ KERNEL_PARAMS='desktop=kde' \
@ -130,6 +170,8 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
export MAX_PKG_SIZE=300000000 export MAX_PKG_SIZE=300000000
export DESKTOP=light export DESKTOP=light
export MAXISOS=1; export MAXJIGDOS=1 export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
build_started LIGHTCD build_started LIGHTCD
INSTALLER_CD=B TASK=Debian-light \ INSTALLER_CD=B TASK=Debian-light \
KERNEL_PARAMS='desktop=light' \ KERNEL_PARAMS='desktop=light' \
@ -157,7 +199,10 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
if [ "$NODVD"x = ""x ] ; then if [ "$NODVD"x = ""x ] ; then
export MAX_PKG_SIZE=999999999999 export MAX_PKG_SIZE=999999999999
export DESKTOP=all export DESKTOP=all
# Special case: make DVD1 fit on a 4GB USB
# stick (#612074)
build_started DVD build_started DVD
export FORCE_CD_SIZE1=STICK4GB
INSTALLER_CD=6 TASK=Debian-all \ INSTALLER_CD=6 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \ KERNEL_PARAMS='desktop=all' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
@ -192,12 +237,10 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
fi fi
fi # end of multi fi # end of multi
# Reset envvars for next iteration
unset DESKTOP
done done
if [ "$NOFW"x = ""x ] ; then if [ "$NOFW"x = ""x ] ; then
~/build/generate_firmware_images squeeze ~/build/generate_firmware_images wheezy
~/build/generate_firmware_images sid ~/build/generate_firmware_images sid
fi fi

View File

@ -1,7 +1,7 @@
<h1>Daily "firmware" build #BUILDNUM for ARCH, using installer build from INST_VER</h1> <h1>Daily "firmware" build #BUILDNUM for ARCH, using installer build from INST_VER</h1>
<p>These images will install the testing version of Debian, currently <p>These images will install the testing version of Debian, currently
<strong>Squeeze</strong>. They include non-free firmware to make <strong>Wheezy</strong>. They include non-free firmware to make
installation easier on some systems requiring proprietary but installation easier on some systems requiring proprietary but
redistributable redistributable
firmware. See <a href="http://wiki.debian.org/Firmware">http://wiki.debian.org/Firmware</a> firmware. See <a href="http://wiki.debian.org/Firmware">http://wiki.debian.org/Firmware</a>

View File

@ -1,7 +1,7 @@
<h1>Daily build #BUILDNUM for ARCH, using installer build from INST_VER</h1> <h1>Daily build #BUILDNUM for ARCH, using installer build from INST_VER</h1>
<p>These images will install the testing version of Debian, currently <p>These images will install the testing version of Debian, currently
<strong>Squeeze</strong>.</p> <strong>Wheezy</strong>.</p>
<p>See the <a href="/cdimage/daily-builds/">top-level daily <p>See the <a href="/cdimage/daily-builds/">top-level daily
directory</a> for more information about the daily builds.</p> directory</a> for more information about the daily builds.</p>

View File

@ -101,6 +101,7 @@ if [ -f "$TRACE" ] ; then
$TOPDIR/cronjob.weekly $TOPDIR/cronjob.weekly
fi fi
fi fi
cd $HOME && ./bin/cdbuilder_log_analyser > build/log/analysis.html
exit 0 exit 0
fi fi
fi fi

View File

@ -17,7 +17,7 @@ fi
export TDIR=/org/cdbuilder.debian.org/dst/deb-cd/tmp/firmware export TDIR=/org/cdbuilder.debian.org/dst/deb-cd/tmp/firmware
export BASEDIR=$TOPDIR/debian-cd export BASEDIR=$TOPDIR/debian-cd
mkdir -p $TDIR mkdir -p $TDIR
fakeroot $BASEDIR/tools/make-firmware-image $MIRROR $SUITE $TDIR $BASEDIR fakeroot $BASEDIR/tools/make-firmware-image $MIRROR $SUITE $TDIR
DATE=`date +%Y%m%d` DATE=`date +%Y%m%d`
mkdir -p $OUT/$SUITE/$DATE mkdir -p $OUT/$SUITE/$DATE

View File

@ -22,8 +22,7 @@ rm -f $LOG
# Given an ISO image: # Given an ISO image:
# 1. create the torrent file # 1. create the torrent file
# 2. create the list file # 2. copy all of them into place
# 3. copy all of them into place
process_iso() { process_iso() {
FILE=$1 FILE=$1
OUTDIR=$2 OUTDIR=$2
@ -31,15 +30,10 @@ process_iso() {
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'` BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
~/build/mktorrent $FILE >> $LOG ~/build/mktorrent $FILE >> $LOG
LISTFILE=`echo $FILE | sed 's/iso-/list-/g;s/\.iso$/.list.gz/g'`
~/build/mklist $FILE >> $LOG
echo $OUTDIR/$FILE >> $LOG echo $OUTDIR/$FILE >> $LOG
cp -a $FILE $OUTDIR/$FILE cp -a $FILE $OUTDIR/$FILE
echo $OUTDIR/$BTFILE >> $LOG echo $OUTDIR/$BTFILE >> $LOG
cp -a $BTFILE $OUTDIR/$BTFILE cp -a $BTFILE $OUTDIR/$BTFILE
echo $OUTDIR/$LISTFILE >> $LOG
cp -a $LISTFILE $OUTDIR/$LISTFILE
} }
# Poor man's rsync, but with some local optimisations # Poor man's rsync, but with some local optimisations
@ -52,23 +46,31 @@ copy_files() {
cd $SRC cd $SRC
for ARCH in $ARCHES for ARCH in $ARCHES
do do
for DISKTYPE in dvd cd bd; do for DISKTYPE in dvd cd bd dlbd; do
for DIRTYPE in bt iso jigdo list; do for DIRTYPE in bt iso jigdo list; do
mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE
done done
done done
cd $ARCH cd $ARCH
find . -name '*.jigdo' -o -name '*.template' -o -name '*SUMS*' | \ find . -name '*.jigdo' -o -name '*.template' \
xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG -o -name '*.list.gz' -o -name '*SUMS*' | \
xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG
rm -rf bt-* list-* rm -rf bt-*
mkdir bt-cd bt-dvd bt-bd list-cd list-dvd list-bd mkdir bt-cd bt-dvd bt-bd bt-dlbd
for file in iso-*/*.iso; do for FILE in iso-*/*.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
for FILE in $TARGET/$ARCH.tmp/iso-$DISKTYPE/*SUMS*; do
if [ -e $FILE ] ; then
cp -al $FILE $TARGET/$ARCH.tmp/bt-$DISKTYPE/
fi
done
done
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/weekly.html \
> $TARGET/$ARCH.tmp/HEADER.html > $TARGET/$ARCH.tmp/HEADER.html

View File

@ -1,5 +1,7 @@
#!/bin/sh #!/bin/sh
export LC_ALL=C
for FILE in $@; do for FILE in $@; do
if [ -e "$FILE" ] ; then if [ -e "$FILE" ] ; then
ISODIR=`dirname $FILE` ISODIR=`dirname $FILE`
@ -9,9 +11,10 @@ for FILE in $@; do
fi fi
LISTFILE=`echo $FILE | sed 's/\.iso$/.list.gz/g'` LISTFILE=`echo $FILE | sed 's/\.iso$/.list.gz/g'`
isoinfo -fR -i $FILE | grep /pool/ | \ isoinfo -fR -i $FILE | perl -e '
awk '/\.deb$|\.udeb$|\.tar\.gz$|\.dsc$|\.diff\.gz$/ {gsub(".*/","");print $1}' | \ while (<>) {
LANG=C sort | gzip -9 > $LISTFILE chomp;m,^/pool/[^/]+/[^/]+/[^/]+/(.*), and print "$1\n";
}' | sort | gzip -9 > $LISTFILE
mv $LISTFILE $LISTDIR mv $LISTFILE $LISTDIR
fi fi
done done

View File

@ -1,10 +1,17 @@
#!/bin/sh #!/bin/sh
export TOPDIR=$(dirname $0)
. $TOPDIR/settings.sh
. $TOPDIR/common.sh
OUTDIR=$1 OUTDIR=$1
ARCH=$2 ARCH=$2
RESULTS=$3 RESULTS=$3
OUTFILE=$OUTDIR/$ARCH/HEADER.html OUTFILE=$OUTDIR/$ARCH/HEADER.html
INLOGS="/org/cdbuilder.debian.org/dst/deb-cd/log"
OUTLOGS="build-logs/$DATE"
grep -q WARNING $OUTFILE grep -q WARNING $OUTFILE
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
@ -17,22 +24,17 @@ fi
echo "<hr>" >> $OUTFILE echo "<hr>" >> $OUTFILE
echo "<ul>" >> $OUTFILE echo "<ul>" >> $OUTFILE
mkdir -p ${OUTDIR}/${ARCH}/${OUTLOGS}
for RESULT in $RESULTS; do for RESULT in $RESULTS; do
TYPE=`echo $RESULT | awk -F / '{print $1}'` TYPE=`echo $RESULT | awk -F / '{print $1}'`
ERROR=`echo $RESULT | awk -F / '{print $2}'` ERROR=`echo $RESULT | awk -F / '{print $2}'`
DATE=`echo $RESULT | awk -F / '{print $3}'` DATE=`echo $RESULT | awk -F / '{print $3}'`
case $TYPE in LOGFILE=`echo $RESULT | awk -F / '{print $4}'`
CDFAIL) BUILDTYPE=`echo $TYPE | sed 's/FAIL//g'`
echo "<li>Full CD build failed with error $ERROR at $DATE" >> $OUTFILE ;; cp ${INLOGS}/${LOGFILE} ${OUTDIR}/${ARCH}/${OUTLOGS}/${BUILDTYPE}.log
DVDFAIL) DESC=`build_description ${BUILDTYPE}`
echo "<li>DVD build failed with error $ERROR at $DATE" >> $OUTFILE ;; echo "<li>$DESC build failed with error $ERROR at $DATE; <a href=\"$OUTLOGS/${BUILDTYPE}.log\">logfile</a>" >> $OUTFILE
BDFAIL)
echo "<li>Blu-ray build failed with error $ERROR at $DATE" >> $OUTFILE ;;
KDECDFAIL)
echo "<li>KDE CD build failed with error $ERROR at $DATE" >> $OUTFILE ;;
LIGHTCDFAIL)
echo "<li>XFCE/lxde CD build failed with error $ERROR at $DATE" >> $OUTFILE ;;
esac
done done
echo "</ul>" >> $OUTFILE echo "</ul>" >> $OUTFILE

View File

@ -16,6 +16,10 @@ if [ "$CONF"x = ""x ] ; then
CONF=~/build/CONF.sh CONF=~/build/CONF.sh
fi fi
export CF=$CONF export CF=$CONF
if [ "$DCD_DIR"x = ""x ] ; then
DCD_DIR=~/build/debian-cd
fi
export CF=$CONF
now () { now () {
date -u +%F:%H:%M:%S date -u +%F:%H:%M:%S
@ -72,6 +76,9 @@ case "$INSTALLER_CD" in
9) 9)
export OUT_TYPE=bd export OUT_TYPE=bd
export DISKTYPE=BD;; export DISKTYPE=BD;;
D)
export OUT_TYPE=dlbd
export DISKTYPE=DLBD;;
*) export DISKTYPE=CD;; *) export DISKTYPE=CD;;
esac esac
@ -80,7 +87,7 @@ if [ "$OUT_TYPE"x = ""x ] ; then
fi fi
export IMAGETARGET=official_images export IMAGETARGET=official_images
cd debian-cd && . $CONF cd $DCD_DIR && . $CONF
if [ "$OUT"x = ""x ] ; then if [ "$OUT"x = ""x ] ; then
echo Config error echo Config error
@ -145,6 +152,7 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
################################## ##################################
ARCHDIR="$PUBDIRJIG"/${DI}_d-i/$DATE_BUILD/$OUTARCH ARCHDIR="$PUBDIRJIG"/${DI}_d-i/$DATE_BUILD/$OUTARCH
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
@ -158,11 +166,12 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
mv $OUT/$BASE.template $ARCHDIR/jigdo-cd/$NETINSTNAME.template mv $OUT/$BASE.template $ARCHDIR/jigdo-cd/$NETINSTNAME.template
# Make sure that the ISO is as new/newer than the jigdo file; #587774 # Make sure that the ISO is as new/newer than the jigdo file; #587774
touch $ARCHDIR/iso-cd/$NETINSTNAME.iso touch $ARCHDIR/iso-cd/$NETINSTNAME.iso
mv $OUT/$BASE.list.gz $ARCHDIR/list-cd/$NETINSTNAME.list.gz
done done
rm -f "$OUT"/* rm -f "$OUT"/*
END=`now` END=`now`
mkdir -p "$PUBDIRJIG"/$OUTARCH mkdir -p "$PUBDIRJIG"/$OUTARCH
echo -e "start=$START\nend=$END\nerror=0\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
elif [ "$INSTALLER_CD" = "C" ] ; then elif [ "$INSTALLER_CD" = "C" ] ; then
@ -188,7 +197,7 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
rm -f "$OUT"/* rm -f "$OUT"/*
END=`now` END=`now`
mkdir -p "$PUBDIRJIG"/$OUTARCH mkdir -p "$PUBDIRJIG"/$OUTARCH
echo -e "start=$START\nend=$END\nerror=0\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
else else
####################################### #######################################
@ -223,8 +232,11 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
done done
mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE} mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
mkdir -p "$PUBDIRJIG"/$OUTARCH/list-${OUT_TYPE}
mv "$OUT"/*list*gz "$PUBDIRJIG"/$OUTARCH/list-${OUT_TYPE}
END=`now` END=`now`
echo -e "start=$START\nend=$END\nerror=0\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
fi fi
touch $TDIR/$CODENAME/1.pkgs_extracted # so we don't get errors below touch $TDIR/$CODENAME/1.pkgs_extracted # so we don't get errors below
@ -244,7 +256,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 media" "$LOGFILE"|mail -s "testingcds $RUN went ok" "$i" grep -e "extents written" -e "Written to medi." "$LOGFILE"|mail -s "testingcds $RUN went ok" "$i"
done done
overview "$RUN" success overview "$RUN" success
@ -263,6 +275,6 @@ else
overview "$RUN" failed overview "$RUN" failed
END=`now` END=`now`
mkdir -p "$PUBDIRJIG"/$OUTARCH mkdir -p "$PUBDIRJIG"/$OUTARCH
echo -e "start=$START\nend=$END\nerror=0\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE echo -e "start=$START\nend=$END\nerror=1\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
exit 1 exit 1
fi fi