Revamp of update-cd for the 6.0.1a release:

* Remove the old non-US stuff from it, it's not been needed in years.
 * Cope with .bz2 source files too.
 * Merged and simplified the old functionality from scansources.old
   and scanpackages.old into the new script create_control.
This commit is contained in:
cd-builder user 2011-03-23 17:07:25 +00:00
parent e4a341bbd6
commit 61eec478d3
4 changed files with 139 additions and 398 deletions

129
squeeze/tools/create_control Executable file
View File

@ -0,0 +1,129 @@
#!/bin/sh
#
# Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
# Copyright 2011 Steve McIntyre <93sam@debian.org>
# See the README file for the license
#
# This script will create the Packages.gz and Sources.gz files, and
# write matching Release files
# Argument 1 = root directory of the CD
# Argument 2 = architecture we're building for, or "source"
#
# Various other environment vars:
# $BASEDIR
# $MIRROR
# $TDIR
# etc...
#set -e
#set -x
CDDIR=$1
ARCH=$2
cd $CDDIR
DPKG_SCANPACKAGES=$BASEDIR/tools/my-dpkg-scanpackages
BDIR=$TDIR/$CODENAME-$ARCH
PREFIX=`echo $CDDIR | sed "s?$BDIR/CD?$BDIR/?"`
NUM=${PREFIX##$BDIR/}
if [ -n "$NONFREE" -o -n "$EXTRANONFREE" ]; then
SECTIONS="main contrib non-free"
else
SECTIONS="main contrib"
fi
checksum_file () {
CHECK=$1
FILE=$2
case $CHECK in
MD5Sum) prog=md5sum;;
SHA1) prog=sha1sum;;
SHA256) prog=sha256sum;;
SHA512) prog=sha512sum;;
*) echo "Unknown checksum algorithm $CHECK. Exit."; exit 1;;
esac
checksum=`$prog $file | awk '{print $1}'`
echo $checksum
}
case $ARCH in
source)
#### SOURCE
for SECT in $SECTIONS; do
if [ -d "pool/$SECT" ]; then
mkdir -p dists/$CODENAME/$SECT/source
dpkg-scansources pool/$SECT > dists/$CODENAME/$SECT/source/Sources
if [ -f dists/$CODENAME/$SECT/source/Sources ] ; then
gzip --best dists/$CODENAME/$SECT/source/Sources
fi
fi
done
cp $MIRROR/dists/$CODENAME/Release Release.in
;;
*)
#### BINARY
# Create an override file for dpkg-scanpackages
if [ ! -e "../overrides" ]; then
# Create an override file with all sections
for SECT in $SECTIONS; do
zcat $MIRROR/indices/override.$CODENAME.$SECT.gz >> ../overrides
done
fi
# Now create a Packages file for all packages on the CD, just
# looking in pool/
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH pool ../overrides > $PREFIX.Packages 2>/dev/null
# Split the Packages file by section, and install matching
# Release files
for SECT in $SECTIONS; do
mkdir -p dists/$CODENAME/$SECT/binary-$ARCH
grep-dctrl -FFilename -e "/$SECT/" $PREFIX.Packages | \
grep -v ^X-Medium > dists/$CODENAME/$SECT/binary-$ARCH/Packages
gzip --best -c < dists/$CODENAME/$SECT/binary-$ARCH/Packages \
> dists/$CODENAME/$SECT/binary-$ARCH/Packages.gz
cp $MIRROR/dists/$CODENAME/$SECT/binary-$ARCH/Release \
dists/$CODENAME/$SECT/binary-$ARCH/
done
rm -f $PREFIX.Packages
sed -e "s/^Architectures: .*$/Architectures: $ARCH/" \
$MIRROR/dists/$CODENAME/Release > Release.in
;;
esac
# Munge the Release file from the archive
if [ -e "$MIRROR/dists/$CODENAME/Release" ]; then
# Strip the MD5Sum and SHA* fields, update some other information
# as well
cat Release.in | sed -e "s|^Components: .*$|Components: $SECTIONS|" | \
perl -ne 'if (/^(MD5Sum|SHA\d+):/i) { $f=1; next }
if ($f) {
unless (/^ /) { print; $f=0 }
} else { print }' > dists/$CODENAME/Release
rm -f Release.in
fi
# Now update the Release file with checksums etc.
cd dists/$CODENAME
for check in MD5Sum SHA1 SHA256 SHA512; do
echo "$check:" >> Release
for SECT in $SECTIONS; do
if [ -d $SECT ] ; then
for file in $SECT/*/*; do
cksum=`checksum_file $check $file`
size=`stat -c %s $file`
printf " %s %8d %s\n" $cksum $size $file >> Release
done
fi
done
done
cd ../..
exit 0

View File

@ -1,238 +0,0 @@
#!/bin/sh
# Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
# See the README file for the license
# This script will create the Packages.gz and the Packages.cd files
# First arg = "scan" or "install"
# Second arg = directory of the CD
#set -e
CDPACKAGES=1
DPKG_SCANPACKAGES=$BASEDIR/tools/my-dpkg-scanpackages
if [ "$1"x = "-noPackages.cd"x ] ; then
shift 1
CDPACKAGES=0
fi
BDIR=$TDIR/$CODENAME-$ARCH
PREFIX=`echo $2 | sed "s?$BDIR/CD?$BDIR/?"`
NUM=${PREFIX##$BDIR/}
NUM=`echo $NUM | sed 's/_NONUS//g'`
if [ -n "$NONFREE" -o -n "$EXTRANONFREE" ]; then
SECTIONS="main contrib non-free"
SECTIONSNONUS="non-US/main non-US/contrib non-US/non-free"
else
SECTIONS="main contrib"
SECTIONSNONUS="non-US/main non-US/contrib"
fi
cd "$2"
if [ "$1" = "install" ]; then
if [ -e "$MIRROR/dists/$CODENAME/Release" ]; then
# Strip the MD5Sum and SHA1 fields
# Update some other information as well
sed -e "s/^Architectures: .*$/Architectures: $ARCH/" \
$MIRROR/dists/$CODENAME/Release | \
sed -e "s|^Components: .*$|Components: $SECTIONS|" | \
perl -ne 'if (/^(MD5Sum|SHA1):/i) { $f=1; next }
if ($f) {
unless (/^ /) { print; $f=0 }
} else { print }' > dists/$CODENAME/Release
fi
if [ -n "$NONUS" -a -e "$NONUS/dists/$CODENAME/non-US/Release" ]; then
# Strip the MD5Sum and SHA1 fields
# Update some other information as well
sed -e "/^ /d" -e "s/^Architectures: .*$/Architectures: $ARCH/" \
$NONUS/dists/$CODENAME/non-US/Release | \
sed -e "s|^Components: .*$|Components: $SECTIONSNONUS|" | \
perl -ne 'if (/^(MD5Sum|SHA1):/i) { $f=1; next }
if ($f) {
unless (/^ /) { print; $f=0 }
} else { print }' > dists/$CODENAME/non-US/Release
fi
for SECT in $SECTIONS; do
# Install the release files
cp $MIRROR/dists/$CODENAME/$SECT/binary-$ARCH/Release \
dists/$CODENAME/$SECT/binary-$ARCH/
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
cp $NONUS/dists/$CODENAME/non-US/$SECT/binary-$ARCH/Release \
dists/$CODENAME/non-US/$SECT/binary-$ARCH/
fi
# Install the Packages and Packages.gz files
grep -v ^X-Medium $PREFIX.Packages-$SECT \
>dists/$CODENAME/$SECT/binary-$ARCH/Packages
grep -v ^X-Medium $PREFIX.Packages-$SECT | gzip --best \
>dists/$CODENAME/$SECT/binary-$ARCH/Packages.gz
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
grep -v ^X-Medium $PREFIX.Packages-non-US-$SECT \
>dists/$CODENAME/non-US/$SECT/binary-$ARCH/Packages
grep -v ^X-Medium $PREFIX.Packages-non-US-$SECT | gzip --best \
>dists/$CODENAME/non-US/$SECT/binary-$ARCH/Packages.gz
fi
# Install the Packages.cd and Packages.cd.gz files
# Each CD know about all prior CDs
# We use "?.packages" here so that we always use US-safe
# packages files only - we don't want later (supposedly
# common) CDs having dependencies on a non-US CD#1...
if [ $CDPACKAGES -eq 1 ] ; then
for i in $TDIR/$CODENAME-$ARCH/?.packages; do
dir=${i%%.packages}
n=${dir##$TDIR/$CODENAME-$ARCH/}
if [ $n -le $NUM ]; then
cat $dir.Packages-$SECT \
>>dists/$CODENAME/$SECT/binary-$ARCH/Packages.cd
cat $dir.Packages-$SECT | gzip --best \
>>dists/$CODENAME/$SECT/binary-$ARCH/Packages.cd.gz
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
cat $dir.Packages-non-US-$SECT \
>>dists/$CODENAME/non-US/$SECT/binary-$ARCH/Packages.cd
cat $dir.Packages-non-US-$SECT | gzip --best \
>>dists/$CODENAME/non-US/$SECT/binary-$ARCH/Packages.cd.gz
fi
fi
done
fi
done
if [ -n "$NONUS" -a "$CODENAME" = "slink" ]; then
cp $NONUS/dists/$CODENAME/non-US/binary-$ARCH/Release \
dists/$CODENAME/non-US/binary-$ARCH/
grep -v ^X-Medium $PREFIX.Packages-non-US \
>dists/$CODENAME/non-US/binary-$ARCH/Packages
grep -v ^X-Medium $PREFIX.Packages-non-US | gzip --best \
>dists/$CODENAME/non-US/binary-$ARCH/Packages.gz
for i in $TDIR/$CODENAME-$ARCH/?.packages; do
dir=${i%%.packages}
n=${dir##$TDIR/$CODENAME-$ARCH/}
if [ $n -le $NUM ]; then
cat $dir.Packages-non-US \
>>dists/$CODENAME/non-US/binary-$ARCH/Packages.cd
cat $dir.Packages-non-US | gzip --best \
>>dists/$CODENAME/non-US/binary-$ARCH/Packages.cd.gz
fi
done
fi
if [ -n "$LOCAL" ]; then
if [ -e ${LOCALDEBS:-$MIRROR}/dists/$CODENAME/local/binary-$ARCH/Release ]; then
cp ${LOCALDEBS:-$MIRROR}/dists/$CODENAME/local/binary-$ARCH/Release \
dists/$CODENAME/local/binary-$ARCH/
fi
grep -v ^X-Medium $PREFIX.Packages-local \
>dists/$CODENAME/local/binary-$ARCH/Packages
grep -v ^X-Medium $PREFIX.Packages-local | gzip --best \
>dists/$CODENAME/local/binary-$ARCH/Packages.gz
for i in $TDIR/$CODENAME-$ARCH/?.packages; do
dir=${i%%.packages}
n=${dir##$TDIR/$CODENAME-$ARCH/}
if [ $n -le $NUM ]; then
cat $dir.Packages-local \
>>dists/$CODENAME/local/binary-$ARCH/Packages.cd
cat $dir.Packages-local | gzip --best \
>>dists/$CODENAME/local/binary-$ARCH/Packages.cd.gz
fi
done
fi
fi
# Creates the temp Packages-$SECT files
if [ "$1" != "scan" ]; then exit 0; fi
if [ ! -e "../overrides" ]; then
# Create an override file with all sections
for SECT in $SECTIONS; do
zcat $MIRROR/indices/override.$CODENAME.$SECT.gz >> ../overrides
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
zcat $NONUS/indices-non-US/override.$CODENAME.$SECT.gz \
>> ../overrides
fi
done
fi
#
# Create a Packages file for all packages on the CD
#
if [ -d pool ]; then
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH pool ../overrides \
> $PREFIX.Packages-BOTH
fi
# We have to scan all possible dists where packages can be
DISTS=""
DISTSNONUS=""
for i in `cd dists; echo *; cd ..`; do
if [ ! -L "dists/$i" -a -d "dists/$i" ]; then
if [ -d "dists/$i/main/binary-$ARCH" -o \
-d "dists/$i/non-free/binary-$ARCH" -o \
-d "dists/$i/contrib/binary-$ARCH" ]; then
DISTS="$DISTS $i"
fi
if [ -d "dists/$i/non-US/main/binary-$ARCH" -o \
-d "dists/$i/non-US/non-free/binary-$ARCH" -o \
-d "dists/$i/non-US/contrib/binary-$ARCH" ]; then
DISTSNONUS="$DISTSNONUS $i"
fi
fi
done
for SECT in $SECTIONS; do
for DIST in $DISTS; do
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH dists/$DIST/$SECT/binary-$ARCH \
../overrides >> $PREFIX.Packages-BOTH
done
for DIST in $DISTSNONUS; do
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH \
dists/$DIST/non-US/$SECT/binary-$ARCH \
../overrides >> $PREFIX.Packages-BOTH
fi
done
done
# Separate non-US from the rest
grep-dctrl -FFilename -e '/non-[Uu][Ss]/' $PREFIX.Packages-BOTH \
> $PREFIX.Packages-ALLNONUS
grep-dctrl -v -FFilename -e '/non-[Uu][Ss]/' $PREFIX.Packages-BOTH \
> $PREFIX.Packages-ALL
# Split the Packages file by section
for SECT in $SECTIONS; do
grep-dctrl -FFilename -e "/$SECT/" $PREFIX.Packages-ALL \
> $PREFIX.Packages-$SECT
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
grep-dctrl -FFilename -e "/$SECT/" $PREFIX.Packages-ALLNONUS \
> $PREFIX.Packages-non-US-$SECT
fi
done
# Slink special case
if [ -n "$NONUS" -a "$CODENAME" = "slink" ]; then
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH \
dists/$CODENAME/non-US/binary-$ARCH \
$NONUS/indices-non-US/override.$CODENAME.gz \
> $PREFIX.Packages-non-US
fi
if [ -n "$LOCAL" ]; then
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH \
dists/$CODENAME/local/binary-$ARCH \
/dev/null > $PREFIX.Packages-local
if [ -d pool/local ]
then
$DPKG_SCANPACKAGES -m "`cat .disk/info`" -a $ARCH \
pool/local /dev/null >> $PREFIX.Packages-local
fi
fi
exit 0

View File

@ -1,100 +0,0 @@
#!/bin/sh
# Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
# See the README file for the license
# This script will create the Sources.gz files
# First arg = directory of the CD
set -e
PREFIX=$1
if [ -n "$NONFREE" -o -n "$EXTRANONFREE" ]; then
SECTIONS="main contrib non-free"
else
SECTIONS="main contrib"
fi
cd $PREFIX
# We have to scan all possible dists where sources can be
DISTS=""
DISTSNONUS=""
for i in `cd dists; echo *; cd ..`; do
if [ ! -L "dists/$i" -a -d "dists/$i" ]; then
if [ -d "dists/$i/main/source" -o \
-d "dists/$i/non-free/source" -o \
-d "dists/$i/contrib/source" ]; then
DISTS="$DISTS $i"
fi
if [ -d "dists/$i/non-US/main/source" -o \
-d "dists/$i/non-US/non-free/source" -o \
-d "dists/$i/non-US/contrib/source" ]; then
DISTSNONUS="$DISTSNONUS $i"
fi
fi
done
if [ -e "$MIRROR/dists/$CODENAME/Release" ]; then
# Strip the MD5Sum and SHA1 field
perl -ne 'if (/^(MD5Sum|SHA1):/) { $f=1; next; }
if ($f) {
unless (/^ /) { print; $f=0 }
} else { print }' \
$MIRROR/dists/$CODENAME/Release > dists/$CODENAME/Release
fi
if [ -n "$NONUS" -a -e "$NONUS/dists/$CODENAME/non-US/Release" ]; then
# Strip the MD5Sum and SHA1 field
perl -ne 'if (/^(MD5Sum|SHA1):/) { $f=1; next; }
if ($f) {
unless (/^ /) { print; $f=0 }
} else { print }' \
$NONUS/dists/$CODENAME/non-US/Release \
> dists/$CODENAME/non-US/Release
fi
for SECT in $SECTIONS; do
if [ -d "pool/$SECT" ]; then
dpkg-scansources pool/$SECT > dists/$CODENAME/$SECT/source/Sources
fi
for DIST in $DISTS; do
if [ -d "dists/$DIST/$SECT/source" ] ; then
dpkg-scansources dists/$DIST/$SECT/source \
>> dists/$CODENAME/$SECT/source/Sources
fi
done
if [ -f dists/$CODENAME/$SECT/source/Sources ] ; then
gzip --best dists/$CODENAME/$SECT/source/Sources
fi
if [ -n "$NONUS" -a "$CODENAME" != "slink" ]; then
if [ -d "pool/non-US/$SECT" ]; then
dpkg-scansources pool/non-US/$SECT \
> dists/$CODENAME/non-US/$SECT/source/Sources
fi
for DIST in $DISTSNONUS; do
if [ -d "dists/$DIST/non-US/$SECT/source" ] ; then
dpkg-scansources dists/$DIST/non-US/$SECT/source \
>> dists/$CODENAME/non-US/$SECT/source/Sources
fi
done
if [ -f dists/$CODENAME/non-US/$SECT/source/Sources ] ; then
gzip --best dists/$CODENAME/non-US/$SECT/source/Sources
fi
fi
done
# Slink special case
if [ -n "$NONUS" -a "$CODENAME" = "slink" ]; then
dpkg-scansources dists/$CODENAME/non-US/source \
| gzip --best > dists/$CODENAME/non-US/source/Sources.gz
fi
if [ -n "$LOCAL" ]; then
dpkg-scansources dists/$CODENAME/local/source \
| gzip --best > dists/$CODENAME/local/source/Sources.gz
fi
exit 0

View File

@ -17,14 +17,11 @@ set -e
MIRROR_NORM=/org/cdbuilder.debian.org/src/ftp/debian MIRROR_NORM=/org/cdbuilder.debian.org/src/ftp/debian
MIRROR_AMD64=/org/cdbuilder.debian.org/src/ftp/debian-amd64/debian MIRROR_AMD64=/org/cdbuilder.debian.org/src/ftp/debian-amd64/debian
# If you have a non-US mirror, where is it? Leave blank if you don't have one.
# NONUS=${NONUS:-/mirror/debian-non-US}
# Do you want non-free? 1 for yes, 0 for no # Do you want non-free? 1 for yes, 0 for no
NONFREE=0 NONFREE=0
# What release version is this? # What release version is this?
VER=6.0.1 VER=6.0.1a
# Is this an official CD? # Is this an official CD?
OFFICIAL=Official OFFICIAL=Official
@ -72,14 +69,13 @@ esac
DIFF=/home/debian-cd/lists/squeeze/r0-r1.diff DIFF=/home/debian-cd/lists/squeeze/r0-r1.diff
if [ "$TYPE" = "cd" ] ; then if [ "$TYPE" = "cd" ] ; then
CDSIZE=640 # megabytes, leaving space for metadata CDSIZE=644 # megabytes, leaving space for metadata
else else
CDSIZE=4300 # megabytes, leaving space for metadata CDSIZE=4300 # megabytes, leaving space for metadata
fi fi
REL=Debian"$VER" REL=Debian"$VER"
CLOG=dists/$CODENAME/ChangeLog CLOG=dists/$CODENAME/ChangeLog
NUCLOG=dists/$CODENAME/non-US/ChangeLog
UPD=$TDIR/$CODENAME-update UPD=$TDIR/$CODENAME-update
DATE=`date +%Y%m%d` DATE=`date +%Y%m%d`
BASEDIR=`pwd` BASEDIR=`pwd`
@ -97,50 +93,14 @@ if [ "$ARCHLIST"x = ""x ] ; then
ARCHLIST="armel amd64 i386 ia64 mips mipsel powerpc s390 sparc source kfreebsd-amd64 kfreebsd-i386" # amd64 # all dealt with specially ARCHLIST="armel amd64 i386 ia64 mips mipsel powerpc s390 sparc source kfreebsd-amd64 kfreebsd-i386" # amd64 # all dealt with specially
fi fi
export TDIR NONFREE NONUS VER MIRROR CODENAME OUT BASEDIR export TDIR NONFREE VER MIRROR CODENAME OUT BASEDIR
CDSIZE=$(($CDSIZE * 1024)) CDSIZE=$(($CDSIZE * 1024))
scanpackages=$BASEDIR/tools/scanpackages.old create_control=$BASEDIR/tools/create_control
scansources=$BASEDIR/tools/scansources.old
set_mkisofs_opts=$BASEDIR/tools/set_mkisofs_opts set_mkisofs_opts=$BASEDIR/tools/set_mkisofs_opts
addfiles=$BASEDIR/tools/add_files addfiles=$BASEDIR/tools/add_files
create_control_files () {
CDDIR=$1
shift
ARCHES=$*
echo " Creating control files for \"$ARCHES\" on $CDDIR"
for ARCH in $ARCHES
do
case "$ARCH" in
source)
echo " source"
for SECT in $SECTS
do
mkdir -p $CDDIR/dists/$CODENAME/$SECT/source
mkdir -p $CDDIR/dists/$CODENAME/non-US/$SECT/source
done
cd $UPD
$scansources $CDDIR >/dev/null 2>&1
;;
all)
;;
*)
echo " $ARCH"
for SECT in $SECTS
do
mkdir -p $CDDIR/dists/$CODENAME/$SECT/binary-$ARCH
mkdir -p $CDDIR/dists/$CODENAME/non-US/$SECT/binary-$ARCH
done
ARCH=$ARCH $scanpackages scan $CDDIR >/dev/null 2>&1
ARCH=$ARCH $scanpackages -noPackages.cd install $CDDIR >/dev/null 2>&1
rm -f $CDDIR/*.Packages* >/dev/null 2>&1
;;
esac
done
}
copy_file () { copy_file () {
ROOTDIR=$1 ROOTDIR=$1
shift shift
@ -151,8 +111,6 @@ copy_file () {
fi fi
if [ -e $MIRROR/$FILE ] ; then if [ -e $MIRROR/$FILE ] ; then
cp -l $MIRROR/$FILE $ROOTDIR/$FILE cp -l $MIRROR/$FILE $ROOTDIR/$FILE
elif [ -e $NONUS/$FILE ] ; then
cp -l $NONUS/$FILE $ROOTDIR/$FILE
else else
echo echo
echo "File $FILE not found!" echo "File $FILE not found!"
@ -175,7 +133,7 @@ make_cd () {
echo echo
echo " Creating Packages and Sources files for CD$CDNUM" echo " Creating Packages and Sources files for CD$CDNUM"
cd $UPD cd $UPD
create_control_files CD$CDNUM $THISARCH $create_control CD$CDNUM $THISARCH
echo " Creating image for CD$CDNUM ($SRCFILES source files, $ARCHFILES $ARCH debs, $ALLFILES all debs)" echo " Creating image for CD$CDNUM ($SRCFILES source files, $ARCHFILES $ARCH debs, $ALLFILES all debs)"
echo -n " " echo -n " "
if [ ! -d $OUT/$THISARCH/iso-$TYPE ] ; then if [ ! -d $OUT/$THISARCH/iso-$TYPE ] ; then
@ -190,7 +148,6 @@ make_cd () {
-jigdo-jigdo $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo \ -jigdo-jigdo $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo \
-jigdo-template $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.template \ -jigdo-template $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.template \
-jigdo-map Debian=$MIRROR/ \ -jigdo-map Debian=$MIRROR/ \
-jigdo-map Non-US=$NONUS/ \
-jigdo-force-md5 /pool/ \ -jigdo-force-md5 /pool/ \
-md5-list $UPD/md5-check \ -md5-list $UPD/md5-check \
$UPD/CD$CDNUM 2>&1 | grep "extents written" $UPD/CD$CDNUM 2>&1 | grep "extents written"
@ -218,7 +175,7 @@ make_cd () {
echo "$SHA debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.iso" >> $OUT/$THISARCH/iso-$TYPE/SHA${SHA_SIZE}SUMS.update echo "$SHA debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.iso" >> $OUT/$THISARCH/iso-$TYPE/SHA${SHA_SIZE}SUMS.update
done done
gzip -9 $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo gzip -9 $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo
mv -v $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo.gz \ mv $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo.gz \
$OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.jigdo
else else
${MKISOFS} -J -r -V "Debian $VER update $TYPEUP" -o \ ${MKISOFS} -J -r -V "Debian $VER update $TYPEUP" -o \
@ -233,7 +190,7 @@ add_file () {
case "$THISARCH" in case "$THISARCH" in
source) source)
case "$file" in case "$file" in
*.gz|*.dsc) *.gz|*.bz2|*.dsc)
copy_file $UPD/CD$CDNUM $file copy_file $UPD/CD$CDNUM $file
SRCFILES=$(($SRCFILES + 1)) SRCFILES=$(($SRCFILES + 1))
;; ;;
@ -269,11 +226,6 @@ if [ ! -e $DIFF ] ; then
fi fi
cp $DIFF $UPD/list cp $DIFF $UPD/list
if [ "$NONUS"x == ""x ] ; then
echo "Removing non-US files from the list"
grep -v non-US $UPD/list > $UPD/list1
mv -f $UPD/list1 $UPD/list
fi
if [ "$NONFREE"x != "1"x ] ; then if [ "$NONFREE"x != "1"x ] ; then
echo "Removing non-free files from the list" echo "Removing non-free files from the list"
grep -v non-free $UPD/list > $UPD/list1 grep -v non-free $UPD/list > $UPD/list1
@ -281,9 +233,6 @@ if [ "$NONFREE"x != "1"x ] ; then
fi fi
$GRAB_MD5 $MIRROR_NORM "$ARCHLIST" $CODENAME $CODENAME $UPD/md5-check $GRAB_MD5 $MIRROR_NORM "$ARCHLIST" $CODENAME $CODENAME $UPD/md5-check
if [ "$NONUS"x != ""x ] ; then
$GRAB_MD5 $NONUS "$ARCHLIST" $CODENAME $CODENAME $UPD/md5-check
fi
for THISARCH in $ARCHLIST for THISARCH in $ARCHLIST
do do
@ -324,9 +273,10 @@ do
SIZE_USED=`du -sk $UPD/CD$CDNUM | awk '{print $1}'` SIZE_USED=`du -sk $UPD/CD$CDNUM | awk '{print $1}'`
if [ $SIZE_USED -gt $CDSIZE ] ; then if [ $SIZE_USED -gt $CDSIZE ] ; then
# Back out the last file added # Back out the last file added
echo size=`stat -c %s $UPD/CD$CDNUM/$file`
echo " Overfull: back out $file"
rm -f $UPD/CD$CDNUM/$file rm -f $UPD/CD$CDNUM/$file
echo
echo " Overfull: back out $file ($size bytes)"
DIR=`dirname $file` DIR=`dirname $file`
rmdir $DIR > /dev/null 2>&1 || true rmdir $DIR > /dev/null 2>&1 || true
BACKOUT_FILE=$file BACKOUT_FILE=$file