Current state of lenny build scripts

This commit is contained in:
Steve McIntyre 2010-11-14 14:08:02 +00:00
parent 8d3eeeeaf9
commit 1cf5b9aff7
4 changed files with 425 additions and 122 deletions

302
lenny/contrib/CONF.sh Normal file
View File

@ -0,0 +1,302 @@
#
# This file will have to be sourced where needed
#
# Unset all optional variables first to start from a clean state
unset NONUS || true
unset FORCENONUSONCD1 || true
unset NONFREE || true
unset CONTRIB || true
unset EXTRANONFREE || true
unset LOCAL || true
unset LOCALDEBS || true
unset SECURED || true
unset SECURITY || true
unset BOOTDIR || true
unset BOOTDISKS || true
unset SYMLINK || true
unset COPYLINK || true
unset MKISOFS || true
unset MKISOFS_OPTS || true
unset ISOLINUX || true
unset EXCLUDE || true
unset SRCEXCLUDE || true
unset NORECOMMENDS || true
unset NOSUGGESTS || true
unset IMAGESUMS || true
unset JIGDOCMD || true
unset JIGDOTEMPLATEURL || true
#unset JIGDOFALLBACKURLS || true
unset JIGDOINCLUDEURLS || true
unset JIGDOSCRIPT || true
unset JIGDO_OPTS || true
#unset DEFBINSIZE || true
#unset DEFSRCSIZE || true
unset FASTSUMS || true
unset PUBLISH_URL || true
unset PUBLISH_NONUS_URL || true
unset PUBLISH_PATH || true
unset UDEB_INCLUDE || true
unset UDEB_EXCLUDE || true
unset BASE_INCLUDE || true
unset BASE_EXCLUDE || true
#unset INSTALLER_CD || true
# The debian-cd dir
# Where I am (hoping I'm in the debian-cd dir)
export BASEDIR=`pwd`
# Building woody cd set ...
export CODENAME=lenny
export DI_CODENAME=$CODENAME
if [ ! "$DI_CODENAME" ]
then
export DI_CODENAME=$CODENAME
fi
# Version number, "2.2 r0", "2.2 r1" etc.
#export DEBVERSION="Lenny-DI-rc2"
export DEBVERSION="5.0.6"
# Official or non-official set.
# NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
# ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org
#export OFFICIAL="Unofficial"
#export OFFICIAL="Official Snapshot"
#export OFFICIAL="Official RC"
export OFFICIAL="Official"
# ... for arch
if [ ! "$ARCH" ]
then
export ARCH=`dpkg --print-installation-architecture`
fi
# IMPORTANT : The 4 following paths must be on the same partition/device.
# If they aren't then you must set COPYLINK below to 1. This
# takes a lot of extra room to create the sandbox for the ISO
# images, however. Also, if you are using an NFS partition for
# some part of this, you must use this option.
# Paths to the mirrors
if [ "$MIRROR"x = ""x ] ; then
export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian
fi
NUM_ARCHES=`echo $ARCH | wc -w`
if [ "$NUM_ARCHES"x = "1"x ] ; then
OUTARCH=$ARCH
else
OUTARCH=multi
fi
# Path of the temporary directory
export TDIR=/org/cdbuilder.debian.org/src/deb-cd/tmp/"$INSTALLER_CD""$DI""$OUTARCH"
# Path where the images will be written
if [ "$OUT"x = ""x ] ; then
export OUT=/org/cdbuilder.debian.org/dst/deb-cd/out/"$INSTALLER_CD""$DI""$OUTARCH"
fi
# Where we keep the temporary apt stuff.
# This cannot reside on an NFS mount.
export APTTMP=$TDIR/apt
# Do I want to have NONFREE merged in the CD set
# export NONFREE=1
# Do I want to have CONTRIB merged in the CD set
export CONTRIB=1
# Do I want to have NONFREE on a separate CD (the last CD of the CD set)
# WARNING: Don't use NONFREE and EXTRANONFREE at the same time !
# export EXTRANONFREE=1
# If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
# local packages that you want to put on the CD set then
# uncomment the following line
# export LOCAL=1
# If your local packages are not under $MIRROR, but somewhere else,
# you can uncomment this line and edit to to point to a directory
# containing dists/$CODENAME/local/binary-$ARCH
# export LOCALDEBS=/home/joey/debian/va/debian
# If you want a <codename>-secured tree with a copy of the signed
# Release.gpg and files listed by this Release file, then
# uncomment this line
# export SECURED=1
# Where to find the security patches. This directory should be the
# top directory of a security.debian.org mirror.
#export SECURITY="$TOPDIR"/debian/debian-security
# Sparc only : bootdir (location of cd.b and second.b)
# export BOOTDIR=/boot
# Symlink farmers should uncomment this line :
# export SYMLINK=1
# Use this to force copying the files instead of symlinking or hardlinking
# them. This is useful if your destination directories are on a different
# partition than your source files.
# export COPYLINK=1
# Options
#export MKISOFS="$BASEDIR/../mkisofs/usr/bin/mkisofs"
#export MKISOFS="$BASEDIR/../genisoimage/usr/bin/genisoimage"
export MKISOFS="$BASEDIR/../genisoimage"
export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r"
# export MKISOFS_OPTS="-r" #For normal users
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
# ISOLinux support for multiboot on CD1 for i386
export ISOLINUX=1
# uncomment this to if you want to see more of what the Makefile is doing
export VERBOSE_MAKE=1
# uncoment this to make build_all.sh try to build a simple CD image if
# the proper official CD run does not work
#ATTEMPT_FALLBACK=yes
# Set your disk size here in MB. Used in calculating package and
# source file layouts in build.sh and build_all.sh. Defaults are for
# CD-R, try ~4600 for DVD-R.
if [ ! "$DEFBINSIZE" ] ; then export DEFBINSIZE=642 ; fi
if [ ! "$DEFSRCSIZE" ] ; then export DEFSRCSIZE=642 ; fi
if [ "$DISKTYPE"x = ""x ] ; then
DISKTYPE=CD
fi
export DISKTYPE
# List of languages for which language tasks from tasksel should be
# included. See tasks/README.tasksel for further info.
export TASK_LANGLIST=tasksel_d-i.languages
# We don't want certain packages to take up space on CD1...
#export EXCLUDE1=exclude
# ...but they are okay for other CDs (UNEXCLUDEx == will be included on CD x if not already covered)
#export UNEXCLUDE2=unexclude-CD2
# Any packages listed in EXCLUDE but not in any UNEXCLUDE will be
# excluded completely.
# We also exclude some source packages
#export SRCEXCLUDE=exclude-src
# Set this if the recommended packages should be skipped when adding
# package on the CD. The default is 'false'.
export NORECOMMENDS=1
# Set this if the suggested packages should be skipped when adding
# package on the CD. The default is 'true'.
#export NOSUGGESTS=1
# Set to 1 to generate MD5 and SHA1 sums for generated images
export IMAGESUMS=1
# We may have to extract files from packages to put them onto the CD
# (e.g. bootloader files). If you make those packages (and their
# sources) available somewhere, list it here so that README.source
# can point to it
export ARCHIVE_EXTRACTED_SOURCES="http://cdimage.debian.org/cdimage/cd-sources/"
# Produce iso/jigdo files: specify how many iso/jigdo files should be
# produced in your set. If not set or when the value is "ALL" they will
# be created for all images. One of the variables can be set to zero if
# either iso or jigdo files are not wanted, but not both.
# Replaces the old "DOJIGDO" setting with something much more flexible.
#export MAXISOS=0
#export MAXJIGDOS=0
# Space-separated list of "include URLs" to add to the .jigdo file.
# The included files are used to provide an up-to-date list of Debian
# mirrors to the jigdo _GUI_application_ (_jigdo-lite_ doesn't support
# "[Include ...]").
export JIGDOINCLUDEURLS="http://cdimage.debian.org/debian-cd/debian-servers.jigdo"
#
# $JIGDOTEMPLATEURL and $JIGDOINCLUDEURLS are passed to
# "tools/jigdo_header", which is used by default to generate the
# [Image] and [Servers] sections of the .jigdo file. You can provide
# your own script if you need the .jigdo file to contain different
# data.
#export JIGDOSCRIPT="myscript"
# If set, use the md5sums from the main archive, rather than calculating
# them locally
export FASTSUMS=1
# A couple of things used only by publish_cds, so it can tweak the
# jigdo files, and knows where to put the results.
# You need to run publish_cds manually, it is not run by the Makefile.
#export PUBLISH_URL="http://cdimage.debian.org/jigdo-area"
#export PUBLISH_NONUS_URL="http://non-US.cdimage.debian.org/jigdo-area"
#export PUBLISH_PATH="/home/jigdo-area/"
# Specify files and directories to *exclude* from jigdo processing. These
# files on each CD are expected to be different to those on the mirror, or
# are often subject to change. Any files matching entries in this list will
# simply be placed straight into the template file.
export JIGDO_EXCLUDE="'README*' /doc/ /md5sum.txt /.disk/ /pics/ 'Release*' 'Packages*' 'Sources*'"
# Specify the minimum file size to consider for jigdo processing. Any files
# smaller than this will simply be placed straight into the template file.
export JIGDO_OPTS="-jigdo-min-file-size 0"
for EXCL in $JIGDO_EXCLUDE
do
JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL"
done
export IGNORE_MISSING_BOOT_SCRIPT=1
# Where to find the boot disks
#export BOOTDISKS=$TOPDIR/ftp/skolelinux/boot-floppies
# File with list of packages to include when fetching modules for the
# first stage installer (debian-installer). One package per line.
# Lines starting with '#' are comments. The package order is
# important, as the packages will be installed in the given order.
#export UDEB_INCLUDE="$BASEDIR"/data/$CODENAME/udeb_include
# File with list of packages to exclude as above.
#export UDEB_EXCLUDE="$BASEDIR"/data/$CODENAME/udeb_exclude
# File with list of packages to include when running debootstrap from
# the first stage installer (currently only supported in
# debian-installer). One package per line. Lines starting with '#'
# are comments. The package order is important, as the packages will
# be installed in the given order.
#export BASE_INCLUDE="$BASEDIR"/data/$CODENAME/base_include
# File with list of packages to exclude as above.
#export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude
# Only put the installer onto the cd (set NORECOMMENDS,... as well).
# INSTALLER_CD=0: nothing special (default)
# INSTALLER_CD=1: just add debian-installer (use TASK=debian-installer)
# INSTALLER_CD=2: add d-i and base (use TASK=debian-installer+kernel)
#export INSTALLER_CD=0
# Set to 1 to save space by omitting the release notes
# If so we will link to them on the web site.
if [ "$OMIT_RELEASE_NOTES"x = ""x ] ; then
export OMIT_RELEASE_NOTES=1
fi
# Set this to override the defaul location
#export RELEASE_NOTES_LOCATION="http://www.debian.org/releases/$CODENAME"
case "$OFFICIAL"x in
"Official"x)
export OFFICIAL_VAL=2
;;
"Official Beta"x|"Official Snapshot"x)
export OFFICIAL_VAL=1
;;
*)
export OFFICIAL_VAL=0
;;
esac

View File

@ -4,29 +4,43 @@ TOPDIR=$(dirname $0)
. $TOPDIR/settings.sh . $TOPDIR/settings.sh
export PUBDIRJIG=$PUBDIR/daily-builds export PUBDIRJIG=$PUBDIR/small-lenny
export PUBDIRISO=$PUBDIR/daily-builds
export DATE_BUILD="$DATE-$BUILDNUM" export DATE_BUILD="$DATE-$BUILDNUM"
DI_DIST=lenny
DI_CODENAME=lenny
export DI_DIST
export DI_CODENAME
# 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=".small"
fi
finalise_arch_dir () { finalise_arch_dir () {
ARCH=$1 ARCH=$1
INST_VER=$2 INST_VER=$2
ARCH_ISO_DIR=$PUBDIRISO/${INST_VER}_d-i/$DATE_BUILD/$ARCH/iso-cd ARCH_ISO_DIR=$PUBDIRJIG/$ARCH/iso-cd
ARCH_JIGDO_DIR=$PUBDIRISO/${INST_VER}_d-i/$DATE_BUILD/$ARCH/jigdo-cd ARCH_JIGDO_DIR=$PUBDIRJIG/$ARCH/jigdo-cd
if [ -e $ARCH_ISO_DIR ] ; then if [ -e $ARCH_ISO_DIR ] ; then
cd $ARCH_ISO_DIR cd $ARCH_ISO_DIR
zsyncmake -e -u *businesscard*iso *businesscard*iso > /dev/null
zsyncmake -e -u *netinst*iso *netinst*iso > /dev/null
DATESTRING=`date -u` 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
$TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR cp $ARCH_JIGDO_DIR/*SUMS* $ARCH_ISO_DIR
cp $ARCH_JIGDO_DIR/*SUMS $ARCH_ISO_DIR cd ..
~/build/mktorrent iso-cd/*iso
~/build/mklist iso-cd/*iso
cd $TOPDIR cd $TOPDIR
fi fi
} }
export RSYNC_TARGET=/export/ftp/cdimage/daily-builds export RSYNC_TARGET=/mnt/nfs-cdimage/.lenny_bebble
rm -rf $PUBDIRJIG
if [ "$ARCHES"x = ""x ] ; then if [ "$ARCHES"x = ""x ] ; then
ARCHES="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc sparc multi-arch" ARCHES="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc sparc multi-arch"
@ -35,80 +49,44 @@ fi
cd $TOPDIR && cd $TOPDIR &&
if lockfile -r0 .debian-cd.lock ; then if lockfile -r0 .debian-cd.lock ; then
echo "svn update debian-cd:" echo "svn update debian-cd.lenny:"
cd debian-cd && svn cleanup ; svn up ; cd .. cd debian-cd.lenny && svn cleanup ; svn up ; cd ..
# Allow desktop selection in isolinux menu for i386 and amd64
# For other arches this is a harmless no-op
export DESKTOP=all
export KERNEL_PARAMS="desktop=all"
. images4testing_d-i
for arch in $ARCHES; do for arch in $ARCHES; do
echo "Building $arch:" echo "Building $arch:"
if [ "$arch" = "multi-arch" ] ; then if [ "$arch" = "multi-arch" ] ; then
echo " i386/amd64/ppc sid netinst"
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
TASK=debian-installer+kernel LOGAPPEND="-1" \
MAXISOS=ALL MAXJIGDOS=ALL DI=sid DI_DIST="$DI_DIST" \
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"
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 lenny netinst" echo " i386/amd64/ppc lenny netinst"
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 LOGAPPEND="-1" \ TASK=debian-installer+kernel LOGAPPEND="-1" \
MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds "amd64 i386 powerpc" MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds.lenny "amd64 i386 powerpc"
echo " alpha/hppa/ia64 lenny netinst" echo " alpha/hppa/ia64 lenny netinst"
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 LOGAPPEND="-2" \ TASK=debian-installer+kernel LOGAPPEND="-2" \
MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds "alpha hppa ia64" MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds.lenny "alpha hppa ia64"
finalise_arch_dir $arch lenny finalise_arch_dir $arch lenny
rm -rf $PUBDIRISO/lenny_d-i/$DATE_BUILD/multi-arch rm -rf $PUBDIRJIG/multi-arch
mv $PUBDIRISO/lenny_d-i/$DATE_BUILD/multi $PUBDIRISO/lenny_d-i/$DATE_BUILD/multi-arch mv $PUBDIRJIG/multi $PUBDIRJIG/multi-arch
else # end of m-a else # end of m-a
echo " $arch sid bc"
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" ./testingcds "$arch"
echo " $arch sid netinst"
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" ./testingcds "$arch"
finalise_arch_dir $arch sid
echo " $arch lenny bc" echo " $arch lenny bc"
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds "$arch" OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds.lenny "$arch"
echo " $arch lenny netinst" echo " $arch lenny netinst"
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds "$arch" OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL DI=lenny DI_DIST="$DI_DIST" ./testingcds.lenny "$arch"
finalise_arch_dir $arch lenny finalise_arch_dir $arch lenny
fi # end of normal arch build fi # end of normal arch build
done done
if [ "$NOSYNC"x = ""x ] ; then rsync -av --delete $PUBDIRJIG/ $RSYNC_TARGET/
echo "Sync across to output dir on farbror"
rsync -rHltv $PUBDIRISO/ $RSYNC_TARGET/
echo "Remove extra dailies:"
~/bin/remove_extra_dailies
echo "Clean up old builds on build machine:"
for DIR in $PUBDIRISO/* ; do
cd $DIR
for THIS in 20* ; do
if [ $THIS != $DATE-$BUILDNUM ] ; then
echo " Deleting $DIR/$THIS"
rm -rf $DIR/$THIS
fi
done
done
echo "$DATE-$BUILDNUM" > $RSYNC_TARGET/daily-trace
fi
cd $TOPDIR cd $TOPDIR
rm -f .debian-cd.lock rm -f .debian-cd.lock

View File

@ -5,25 +5,35 @@ export TOPDIR=$(dirname $0)
. $TOPDIR/settings.sh . $TOPDIR/settings.sh
export PUBDIRJIG=$PUBDIR/weekly-builds export PUBDIRJIG=$PUBDIR/weekly-builds
export PUBDIRISO=$PUBDIR/weekly-builds
export DATE_BUILD="$DATE-$BUILDNUM" export DATE_BUILD="$DATE-$BUILDNUM"
export RSYNC_TARGET=/export/ftp/cdimage/weekly-builds export RSYNC_TARGET=/mnt/nfs-cdimage/.lenny_babble
. images4testing_d-i # 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
DI_DIST=lenny
DI_CODENAME=lenny
export DI_DIST export DI_DIST
export DI_CODENAME export DI_CODENAME
OMIT_RELEASE_NOTES=0
export OMIT_RELEASE_NOTES
if [ "$ARCHES"x = ""x ] ; then if [ "$ARCHES"x = ""x ] ; then
ARCHES="i386 source amd64 multi powerpc alpha arm armel hppa ia64 mips mipsel s390 sparc" ARCHES="i386 source amd64 multi powerpc alpha arm armel hppa ia64 mips mipsel s390 sparc"
fi fi
if lockfile -r0 $TOPDIR/.debian-cd.lock ; then if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
echo "svn update debian-cd" echo "svn update debian-cd.lenny"
cd debian-cd && svn cleanup; svn up ; cd .. cd debian-cd.lenny && svn cleanup; svn up ; cd ..
cd debian-cd && ./tools/update_popcon lenny ; cd .. cd debian-cd.lenny && ./tools/update_popcon tasks/lenny/popularity-contest ; cd ..
cd $TOPDIR cd $TOPDIR
mkdir -p $PUBDIRJIG/trace mkdir -p $PUBDIRJIG/trace
@ -38,25 +48,8 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
#export DI_DIR="$ARCH_DI_DIR" #export DI_DIR="$ARCH_DI_DIR"
# 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`
INSTALLER_CD=3 \
./testingcds "$arch"
error=$?
DVDEND=`date -u +%H:%M:%S`
echo "$arch DVDs started at $DVDSTART, ended at $DVDEND, error $error"
fi
# Full CD set # Full CD set
if [ "$NOCD"x = ""x ] ; then if [ "$NOCD"x = ""x ] ; then
export DESKTOP=gnome
case $arch in case $arch in
i386|amd64|source) i386|amd64|source)
export MAXISOS=ALL; export MAXJIGDOS=ALL ;; export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
@ -66,12 +59,31 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
export MAXISOS=3; export MAXJIGDOS=ALL ;; export MAXISOS=3; export MAXJIGDOS=ALL ;;
esac esac
CDSTART=`date -u +%H:%M:%S` CDSTART=`date -u +%H:%M:%S`
./testingcds "$arch" unset DESKTOP
./testingcds.lenny "$arch"
error=$? error=$?
CDEND=`date -u +%H:%M:%S` CDEND=`date -u +%H:%M:%S`
echo "$arch CDs started at $CDSTART, ended at $CDEND, error $error" echo "$arch CDs started at $CDSTART, ended at $CDEND, error $error"
fi 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.lenny "$arch"
error=$?
DVDEND=`date -u +%H:%M:%S`
echo "$arch DVDs started at $DVDSTART, ended at $DVDEND, error $error"
fi
# Full BD set # Full BD set
if [ "$NOBD"x = ""x ] ; then if [ "$NOBD"x = ""x ] ; then
case $arch in case $arch in
@ -79,8 +91,10 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
export MAXISOS=0 export MAXISOS=0
export MAXJIGDOS=ALL export MAXJIGDOS=ALL
BDSTART=`date -u +%H:%M:%S` BDSTART=`date -u +%H:%M:%S`
INSTALLER_CD=9 \ export DESKTOP=all
./testingcds "$arch" INSTALLER_CD=9 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
./testingcds.lenny "$arch"
error=$? error=$?
BDEND=`date -u +%H:%M:%S` BDEND=`date -u +%H:%M:%S`
echo "$arch BDs started at $BDSTART, ended at $BDEND, error $error" echo "$arch BDs started at $BDSTART, ended at $BDEND, error $error"
@ -91,7 +105,7 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
esac esac
fi fi
# kde and xfce cds # kde and xfce/lxde cds
if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then
CDSTART=`date -u +%H:%M:%S` CDSTART=`date -u +%H:%M:%S`
export DESKTOP=kde export DESKTOP=kde
@ -99,21 +113,21 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
INSTALLER_CD=4 TASK=Debian-kde \ INSTALLER_CD=4 TASK=Debian-kde \
KERNEL_PARAMS='desktop=kde' \ KERNEL_PARAMS='desktop=kde' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" ./testingcds.lenny "$arch"
error=$? error=$?
CDEND=`date -u +%H:%M:%S` CDEND=`date -u +%H:%M:%S`
echo "$arch KDE CD started at $CDSTART, ended at $CDEND, error $error" echo "$arch KDE CD started at $CDSTART, ended at $CDEND, error $error"
CDSTART=`date -u +%H:%M:%S` CDSTART=`date -u +%H:%M:%S`
export DESKTOP=xfce export DESKTOP=light
export MAXISOS=1; export MAXJIGDOS=1 export MAXISOS=1; export MAXJIGDOS=1
INSTALLER_CD=5 TASK=Debian-xfce \ INSTALLER_CD=B TASK=Debian-light \
KERNEL_PARAMS='desktop=xfce' \ KERNEL_PARAMS='desktop=light' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \ MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" ./testingcds.lenny "$arch"
error=$? error=$?
CDEND=`date -u +%H:%M:%S` CDEND=`date -u +%H:%M:%S`
echo "$arch Xfce CD started at $CDSTART, ended at $CDEND, error $error" echo "$arch Xfce/LXDE CD started at $CDSTART, ended at $CDEND, error $error"
fi fi
if [ "$NOSYNC"x = ""x ] ; then if [ "$NOSYNC"x = ""x ] ; then
@ -128,16 +142,27 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
if [ "$NODVD"x = ""x ] ; then if [ "$NODVD"x = ""x ] ; then
DVDSTART=`date -u +%H:%M:%S` DVDSTART=`date -u +%H:%M:%S`
MAXISOS=ALL MAXJIGDOS=ALL INSTALLER_CD=6 MAXCDS=1 \ export DESKTOP=all
./testingcds "i386 amd64 powerpc source" INSTALLER_CD=6 TASK=Debian-all \
KERNEL_PARAMS='desktop=all' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds.lenny "i386 amd64 source"
error=$? error=$?
DVDEND=`date -u +%H:%M:%S` DVDEND=`date -u +%H:%M:%S`
echo "Multi-arch DVD started at $DVDSTART, ended at $DVDEND, error $error" echo "Multi-arch DVD started at $DVDSTART, ended at $DVDEND, error $error"
mv $PUBDIRJIG/multi/jigdo-dvd/debian* $PUBDIRJIG/multi-arch/jigdo-dvd mv $PUBDIRJIG/multi/jigdo-dvd/debian* $PUBDIRJIG/multi-arch/jigdo-dvd
cat $PUBDIRJIG/multi/jigdo-dvd/MD5SUMS >> $PUBDIRJIG/multi-arch/jigdo-dvd/MD5SUMS 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 mv $PUBDIRJIG/multi/iso-dvd/debian* $PUBDIRJIG/multi-arch/iso-dvd
cat $PUBDIRJIG/multi/iso-dvd/MD5SUMS >> $PUBDIRJIG/multi-arch/iso-dvd/MD5SUMS 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 rm -rf $PUBDIRJIG/multi
fi fi
@ -146,6 +171,9 @@ if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch & ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &
fi fi
fi # end of multi fi # end of multi
# Reset envvars for next iteration
unset DESKTOP
done done
~/build/generate_firmware_images lenny ~/build/generate_firmware_images lenny

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
# testingcds (c) 2005 Santiago Garcia Mantinan <manty@manty.net> # testingcds.lenny (c) 2005 Santiago Garcia Mantinan <manty@manty.net>
# #
# Updates since then by: # Updates since then by:
# Joey Hess <joey@kitenet.net> # Joey Hess <joey@kitenet.net>
@ -12,7 +12,7 @@
#set -x #set -x
CONF=~/build/CONF.sh CONF=~/build/CONF.sh.lenny
export CF=$CONF export CF=$CONF
# Set up and cleaning # Set up and cleaning
@ -22,13 +22,8 @@ if [ $# -lt 1 ] ; then
exit 1 exit 1
fi fi
if [ ! "$DATE_BUILD" ] ; then
DATE_BUILD=`/bin/date -u +%Y%m%d`
fi
export ARCH="$1" export ARCH="$1"
NUM_ARCHES=`echo $ARCH | wc -w` NUM_ARCHES=`echo $ARCH | wc -w`
FIRSTARCH=`echo $ARCH | awk '{print $1}'`
if [ ! "$JIGDOFALLBACKURLS" ] ; then if [ ! "$JIGDOFALLBACKURLS" ] ; then
export JIGDOFALLBACKURLS="Debian=http://us.cdimage.debian.org/cdimage/snapshot/Debian/" export JIGDOFALLBACKURLS="Debian=http://us.cdimage.debian.org/cdimage/snapshot/Debian/"
@ -37,10 +32,6 @@ fi
# $DI is used to set DI_CODENAME and also to specify the directory for images # $DI is used to set DI_CODENAME and also to specify the directory for images
if [ "$DI" ] ; then if [ "$DI" ] ; then
export DI_CODENAME="$DI" export DI_CODENAME="$DI"
if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then
PUBDIRJIG="$PUBDIRJIG"/"$DI"_d-i
PUBDIRISO="$PUBDIRISO"/"$DI"_d-i
fi
fi fi
export LOG="`pwd`/log/" export LOG="`pwd`/log/"
@ -79,7 +70,7 @@ if [ "$OUT_TYPE"x = ""x ] ; then
fi fi
export IMAGETARGET=official_images export IMAGETARGET=official_images
cd debian-cd && . $CONF cd debian-cd.lenny && . $CONF
echo Making $ARCH "$DISKTYPE" in $OUT echo Making $ARCH "$DISKTYPE" in $OUT
if [ "$OUT"x = ""x ] ; then if [ "$OUT"x = ""x ] ; then
@ -129,11 +120,11 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then
################################## ##################################
# NETINST STUFF (ISO ONLY for now) # NETINST STUFF
################################## ##################################
# make the dirs we'll use to publish things # make the dirs we'll use to publish things
TOPDIR="$PUBDIRISO"/$DATE_BUILD/$OUTARCH TOPDIR="$PUBDIRJIG"/$OUTARCH
mkdir -p $TOPDIR/iso-cd $TOPDIR/jigdo-cd mkdir -p $TOPDIR/iso-cd $TOPDIR/jigdo-cd
# put the isos and jigdos in their place # put the isos and jigdos in their place
@ -146,11 +137,9 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
gzip --best --no-name > $TOPDIR/jigdo-cd/$NETINSTNAME.jigdo gzip --best --no-name > $TOPDIR/jigdo-cd/$NETINSTNAME.jigdo
rm $OUT/$BASE.jigdo rm $OUT/$BASE.jigdo
mv $OUT/$BASE.template $TOPDIR/jigdo-cd/$NETINSTNAME.template mv $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 done
cat $OUT/MD5SUMS >> $TOPDIR/iso-cd/MD5SUMS
cat $OUT/MD5SUMS >> $TOPDIR/jigdo-cd/MD5SUMS
cat $OUT/SHA1SUMS >> $TOPDIR/iso-cd/SHA1SUMS
cat $OUT/SHA1SUMS >> $TOPDIR/jigdo-cd/SHA1SUMS
rm -f "$OUT"/* rm -f "$OUT"/*
else else
@ -165,18 +154,24 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
mv $i ${i%.gz} mv $i ${i%.gz}
done done
# Make sure that the ISOs are as new/newer than the jigdo files; #587774
for file in "$OUT"/*.iso; do
if [ -e $file ] ; then
touch $file
fi
done
mkdir -p "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} mkdir -p "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
cat "$OUT"/MD5SUMS >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/MD5SUMS cat "$OUT"/MD5SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/MD5SUMS$SUMS_EXTENSION
cat "$OUT"/SHA1SUMS >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/SHA1SUMS cat "$OUT"/SHA1SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/SHA1SUMS$SUMS_EXTENSION
mv "$OUT"/*.template "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} mv "$OUT"/*.template "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
mv "$OUT"/*.jigdo "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE} mv "$OUT"/*.jigdo "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
mkdir -p "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE} mkdir -p "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
cat "$OUT"/MD5SUMS >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/MD5SUMS cat "$OUT"/MD5SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/MD5SUMS$SUMS_EXTENSION
cat "$OUT"/SHA1SUMS >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/SHA1SUMS cat "$OUT"/SHA1SUMS$SUMS_EXTENSION >> "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/SHA1SUMS$SUMS_EXTENSION
mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE} mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
date > "$PUBDIRJIG"/$OUTARCH/"$OUT_TYPE"-trace
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
@ -196,7 +191,7 @@ if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
for i in $MYEMAIL for i in $MYEMAIL
do do
grep "extents written" "$LOGFILE"|mail -s "testingcds $RUN went ok" "$i" grep "extents written" "$LOGFILE"|mail -s "testingcds.lenny $RUN went ok" "$i"
done done
overview "$RUN" success overview "$RUN" success
@ -210,7 +205,7 @@ else
for i in $MYEMAIL for i in $MYEMAIL
do do
(echo Error when trying to create cds for $RUN ; cat $LOGFILE) | \ (echo Error when trying to create cds for $RUN ; cat $LOGFILE) | \
mail -s "testingcds $RUN has failed; log included" "$i" mail -s "testingcds.lenny $RUN has failed; log included" "$i"
done done
overview "$RUN" failed overview "$RUN" failed
fi fi