extra scripts in use for regular daily and weekly builds
This commit is contained in:
parent
693b4260f5
commit
081cca8e99
|
@ -0,0 +1,305 @@
|
||||||
|
#
|
||||||
|
# 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 squeeze cd set ...
|
||||||
|
export CODENAME=squeeze
|
||||||
|
|
||||||
|
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="testing"
|
||||||
|
|
||||||
|
# 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-arch
|
||||||
|
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 -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||||
|
export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r " #-checksum_algorithm_iso md5,sha1"
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# The maximum size allowed for an individual package, in bytes; if
|
||||||
|
# larger than this, it will be excluded (and all dependents, of
|
||||||
|
# course)
|
||||||
|
#export MAX_PKG_SIZE=600000000
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
export OMIT_RELEASE_NOTES=1
|
||||||
|
|
||||||
|
# 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
|
|
@ -0,0 +1,69 @@
|
||||||
|
# Common handy shell script functions
|
||||||
|
|
||||||
|
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_started () {
|
||||||
|
export BUILDNAME=$1
|
||||||
|
BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME"
|
||||||
|
export ${BUILDNAME}START=`now`
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
catch_parallel_builds () {
|
||||||
|
# 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
|
||||||
|
if [ "$arch_error"x = ""x ] ; then
|
||||||
|
arch_error="none"
|
||||||
|
fi
|
||||||
|
arch_end=`now`
|
||||||
|
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"
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
OUT=/mnt/nfs-cdimage/unofficial/non-free/firmware
|
||||||
|
TOPDIR=~/build
|
||||||
|
SUITE=$1
|
||||||
|
|
||||||
|
. $TOPDIR/CONF.sh
|
||||||
|
|
||||||
|
if [ "$SUITE"x = ""x ] ; then
|
||||||
|
echo "Need to know what to produce!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Do stuff here!
|
||||||
|
export TDIR=/org/cdbuilder.debian.org/dst/deb-cd/tmp/firmware
|
||||||
|
export BASEDIR=$TOPDIR/debian-cd
|
||||||
|
mkdir -p $TDIR
|
||||||
|
fakeroot $BASEDIR/tools/make-firmware-image $MIRROR $SUITE $TDIR $BASEDIR
|
||||||
|
|
||||||
|
DATE=`date +%Y%m%d`
|
||||||
|
mkdir -p $OUT/$SUITE/$DATE
|
||||||
|
mv $TDIR/firmware*.* $OUT/$SUITE/$DATE/
|
||||||
|
|
||||||
|
# Update the current link, and delete the old surplus builds. Keep up
|
||||||
|
# to 3
|
||||||
|
cd $OUT/$SUITE
|
||||||
|
rm -f current
|
||||||
|
ln -sf $DATE current
|
||||||
|
|
||||||
|
echo "Removing old firmware directories:"
|
||||||
|
NUM=`ls -d 20*/ 2>/dev/null |wc -l`
|
||||||
|
NUM=$(($NUM-6))
|
||||||
|
if [ "$NUM" -gt "0" ] ; then
|
||||||
|
REMOVE=`ls -1d 20* 2>/dev/null|head -n $NUM`
|
||||||
|
echo " $REMOVE"
|
||||||
|
rm -rf $REMOVE
|
||||||
|
fi
|
|
@ -0,0 +1,93 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Helper for image creation
|
||||||
|
#
|
||||||
|
PUBDIRJIG=$1
|
||||||
|
RSYNC_TARGET=$2
|
||||||
|
ARCH=$3
|
||||||
|
|
||||||
|
LOG=~/build/log/$ARCH.iso_run
|
||||||
|
HOSTNAME=`hostname -f`
|
||||||
|
LOCK=~/iso_run.lock
|
||||||
|
START=`date -u +%H:%M:%S`
|
||||||
|
|
||||||
|
# Check to see if another sync is in progress
|
||||||
|
if lockfile -! -l 43200 -r-1 "$LOCK"; then
|
||||||
|
echo $HOSTNAME is not doing another iso_run, lock file $LOCK exists
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
trap "rm -f $LOCK > /dev/null 2>&1" exit
|
||||||
|
|
||||||
|
rm -f $LOG
|
||||||
|
|
||||||
|
# Given an ISO image:
|
||||||
|
# 1. create the torrent file
|
||||||
|
# 2. create the list file
|
||||||
|
# 3. copy all of them into place
|
||||||
|
process_iso() {
|
||||||
|
FILE=$1
|
||||||
|
OUTDIR=$2
|
||||||
|
|
||||||
|
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
|
||||||
|
~/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
|
||||||
|
cp -a $FILE $OUTDIR/$FILE
|
||||||
|
echo $OUTDIR/$BTFILE >> $LOG
|
||||||
|
cp -a $BTFILE $OUTDIR/$BTFILE
|
||||||
|
echo $OUTDIR/$LISTFILE >> $LOG
|
||||||
|
cp -a $LISTFILE $OUTDIR/$LISTFILE
|
||||||
|
}
|
||||||
|
|
||||||
|
# Poor man's rsync, but with some local optimisations
|
||||||
|
copy_files() {
|
||||||
|
SRC=$1
|
||||||
|
TARGET=$2
|
||||||
|
ARCHES=$3
|
||||||
|
|
||||||
|
CURRENT=`pwd`
|
||||||
|
cd $SRC
|
||||||
|
for ARCH in $ARCHES
|
||||||
|
do
|
||||||
|
for DISKTYPE in dvd cd bd; do
|
||||||
|
for DIRTYPE in bt iso jigdo list; do
|
||||||
|
mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
cd $ARCH
|
||||||
|
find . -name '*.jigdo' -o -name '*.template' -o -name '*SUMS*' | \
|
||||||
|
xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG
|
||||||
|
|
||||||
|
rm -rf bt-* list-*
|
||||||
|
mkdir bt-cd bt-dvd bt-bd list-cd list-dvd list-bd
|
||||||
|
for file in iso-*/*.iso; do
|
||||||
|
if [ -e $file ] ; then
|
||||||
|
process_iso $file $TARGET/$ARCH.tmp
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
DATE=`date -u`
|
||||||
|
sed "s/ARCH/$ARCH/g;s/DATE/$DATE/g" ~/build/weekly.html \
|
||||||
|
> $TARGET/$ARCH.tmp/HEADER.html
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
cd $CURRENT
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_files $PUBDIRJIG $RSYNC_TARGET $ARCH
|
||||||
|
|
||||||
|
echo "$START: Starting $ARCH sync from $PUBDIRJIG to $RSYNC_TARGET" >> $LOG
|
||||||
|
mv $RSYNC_TARGET/$ARCH $RSYNC_TARGET/$ARCH.old
|
||||||
|
mv $RSYNC_TARGET/$ARCH.tmp $RSYNC_TARGET/$ARCH
|
||||||
|
rm -rf $RSYNC_TARGET/$ARCH.old &
|
||||||
|
|
||||||
|
# Update the trace file now to force a sync on free.hands.com after each arch
|
||||||
|
mkdir -p $RSYNC_TARGET/trace
|
||||||
|
date -u > $RSYNC_TARGET/trace/cdimage.debian.org
|
||||||
|
|
||||||
|
END=`date -u +%H:%M:%S`
|
||||||
|
echo "$ARCH synced across; started at $START, ended at $END"
|
||||||
|
echo "$END: Finished" >> $LOG
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export LANG=C
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
if [ "$1"x = ""x ] ; then
|
||||||
|
echo "$0: tell me which dir to target!"
|
||||||
|
echo "abort"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CHECK=`ls -al $1/*/iso-* 2>/dev/null`
|
||||||
|
if [ "$CHECK"x = ""x ] ; then
|
||||||
|
echo "$0: could not find stuff to work on in $1"
|
||||||
|
echo "abort"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for DIR in $1/*/*-*; do
|
||||||
|
cd $DIR
|
||||||
|
CHECK=`ls -al *SUMS.* 2>/dev/null`
|
||||||
|
if [ "$CHECK"x != ""x ] ; then
|
||||||
|
cat MD5SUMS.* | sort -k2 | uniq > MD5SUMS
|
||||||
|
cat SHA1SUMS.* | sort -k2 | uniq > SHA1SUMS
|
||||||
|
cat SHA256SUMS.* | sort -k2 | uniq > SHA256SUMS
|
||||||
|
cat SHA512SUMS.* | sort -k2 | uniq > SHA512SUMS
|
||||||
|
for ISOFILE in `cat MD5SUMS SHA1SUMS | awk '{print $2}'`; do
|
||||||
|
JIGDOFILE=${ISOFILE%iso}jigdo
|
||||||
|
TEMPLATEFILE=${ISOFILE%iso}template
|
||||||
|
if [ ! -e $ISOFILE ] && [ ! -e $JIGDOFILE ] && [ ! -e $TEMPLATEFILE ] ; then
|
||||||
|
echo "$ISOFILE/$JIGDOFILE/$TEMPLATEFILE missing in $DIR!"
|
||||||
|
# echo "abort"
|
||||||
|
# exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "$DIR done"
|
||||||
|
else
|
||||||
|
echo "Ignoring $DIR: no checksum files"
|
||||||
|
fi
|
||||||
|
done
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for FILE in $@; do
|
||||||
|
if [ -e "$FILE" ] ; then
|
||||||
|
ISODIR=`dirname $FILE`
|
||||||
|
LISTDIR=`echo $ISODIR | sed 's/iso-/list-/'`
|
||||||
|
if [ ! -d $LISTDIR ] ; then
|
||||||
|
mkdir -p $LISTDIR
|
||||||
|
fi
|
||||||
|
LISTFILE=`echo $FILE | sed 's/\.iso$/.list.gz/g'`
|
||||||
|
|
||||||
|
isoinfo -fR -i $FILE | grep /pool/ | \
|
||||||
|
awk '/\.deb$|\.udeb$|\.tar\.gz$|\.dsc$|\.diff\.gz$/ {gsub(".*/","");print $1}' | \
|
||||||
|
LANG=C sort | gzip -9 > $LISTFILE
|
||||||
|
mv $LISTFILE $LISTDIR
|
||||||
|
fi
|
||||||
|
done
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for FILE in $@; do
|
||||||
|
MKTORRENT=/home/debian-cd/bt/btmakemetafile.py
|
||||||
|
ISODIR=`dirname $FILE`
|
||||||
|
BTDIR=`echo $ISODIR | sed 's/iso-/bt-/;s/usb-/bt-/'`
|
||||||
|
if [ ! -d $BTDIR ] ; then
|
||||||
|
mkdir -p $BTDIR
|
||||||
|
fi
|
||||||
|
$MKTORRENT http://bttracker.debian.org:6969/announce \
|
||||||
|
--comment '"Debian CD from cdimage.debian.org"' \
|
||||||
|
$FILE | grep -v complete
|
||||||
|
mv $FILE.torrent $BTDIR
|
||||||
|
done
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
OUTDIR=$1
|
||||||
|
ARCH=$2
|
||||||
|
RESULTS=$3
|
||||||
|
|
||||||
|
OUTFILE=$OUTDIR/$ARCH/HEADER.html
|
||||||
|
|
||||||
|
grep -q WARNING $OUTFILE
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
echo >> $OUTFILE
|
||||||
|
echo "<p><strong>WARNING:</strong>" >> $OUTFILE
|
||||||
|
echo "This build is not up to date; it is the most recent successful build.</p>" >> $OUTFILE
|
||||||
|
echo >> $OUTFILE
|
||||||
|
echo "<p>Later weekly builds failed with errors:</p>" >> $OUTFILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "<hr>" >> $OUTFILE
|
||||||
|
echo "<ul>" >> $OUTFILE
|
||||||
|
for RESULT in $RESULTS; do
|
||||||
|
TYPE=`echo $RESULT | awk -F / '{print $1}'`
|
||||||
|
ERROR=`echo $RESULT | awk -F / '{print $2}'`
|
||||||
|
DATE=`echo $RESULT | awk -F / '{print $3}'`
|
||||||
|
case $TYPE in
|
||||||
|
CDFAIL)
|
||||||
|
echo "<li>Full CD build failed with error $ERROR at $DATE" >> $OUTFILE ;;
|
||||||
|
DVDFAIL)
|
||||||
|
echo "<li>DVD build failed with error $ERROR at $DATE" >> $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
|
||||||
|
echo "</ul>" >> $OUTFILE
|
||||||
|
|
Loading…
Reference in New Issue