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:
parent
e4a341bbd6
commit
61eec478d3
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -17,14 +17,11 @@ set -e
|
|||
MIRROR_NORM=/org/cdbuilder.debian.org/src/ftp/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
|
||||
NONFREE=0
|
||||
|
||||
# What release version is this?
|
||||
VER=6.0.1
|
||||
VER=6.0.1a
|
||||
|
||||
# Is this an official CD?
|
||||
OFFICIAL=Official
|
||||
|
@ -72,14 +69,13 @@ esac
|
|||
DIFF=/home/debian-cd/lists/squeeze/r0-r1.diff
|
||||
|
||||
if [ "$TYPE" = "cd" ] ; then
|
||||
CDSIZE=640 # megabytes, leaving space for metadata
|
||||
CDSIZE=644 # megabytes, leaving space for metadata
|
||||
else
|
||||
CDSIZE=4300 # megabytes, leaving space for metadata
|
||||
fi
|
||||
|
||||
REL=Debian"$VER"
|
||||
CLOG=dists/$CODENAME/ChangeLog
|
||||
NUCLOG=dists/$CODENAME/non-US/ChangeLog
|
||||
UPD=$TDIR/$CODENAME-update
|
||||
DATE=`date +%Y%m%d`
|
||||
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
|
||||
fi
|
||||
|
||||
export TDIR NONFREE NONUS VER MIRROR CODENAME OUT BASEDIR
|
||||
export TDIR NONFREE VER MIRROR CODENAME OUT BASEDIR
|
||||
|
||||
CDSIZE=$(($CDSIZE * 1024))
|
||||
|
||||
scanpackages=$BASEDIR/tools/scanpackages.old
|
||||
scansources=$BASEDIR/tools/scansources.old
|
||||
create_control=$BASEDIR/tools/create_control
|
||||
set_mkisofs_opts=$BASEDIR/tools/set_mkisofs_opts
|
||||
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 () {
|
||||
ROOTDIR=$1
|
||||
shift
|
||||
|
@ -151,8 +111,6 @@ copy_file () {
|
|||
fi
|
||||
if [ -e $MIRROR/$FILE ] ; then
|
||||
cp -l $MIRROR/$FILE $ROOTDIR/$FILE
|
||||
elif [ -e $NONUS/$FILE ] ; then
|
||||
cp -l $NONUS/$FILE $ROOTDIR/$FILE
|
||||
else
|
||||
echo
|
||||
echo "File $FILE not found!"
|
||||
|
@ -175,7 +133,7 @@ make_cd () {
|
|||
echo
|
||||
echo " Creating Packages and Sources files for CD$CDNUM"
|
||||
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 -n " "
|
||||
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-template $OUT/$THISARCH/jigdo-$TYPE/debian-update-$VER-$THISARCH-$TYPEUP-$THISNUM.template \
|
||||
-jigdo-map Debian=$MIRROR/ \
|
||||
-jigdo-map Non-US=$NONUS/ \
|
||||
-jigdo-force-md5 /pool/ \
|
||||
-md5-list $UPD/md5-check \
|
||||
$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
|
||||
done
|
||||
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
|
||||
else
|
||||
${MKISOFS} -J -r -V "Debian $VER update $TYPEUP" -o \
|
||||
|
@ -233,7 +190,7 @@ add_file () {
|
|||
case "$THISARCH" in
|
||||
source)
|
||||
case "$file" in
|
||||
*.gz|*.dsc)
|
||||
*.gz|*.bz2|*.dsc)
|
||||
copy_file $UPD/CD$CDNUM $file
|
||||
SRCFILES=$(($SRCFILES + 1))
|
||||
;;
|
||||
|
@ -269,11 +226,6 @@ if [ ! -e $DIFF ] ; then
|
|||
fi
|
||||
|
||||
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
|
||||
echo "Removing non-free files from the list"
|
||||
grep -v non-free $UPD/list > $UPD/list1
|
||||
|
@ -281,9 +233,6 @@ if [ "$NONFREE"x != "1"x ] ; then
|
|||
fi
|
||||
|
||||
$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
|
||||
do
|
||||
|
@ -324,9 +273,10 @@ do
|
|||
SIZE_USED=`du -sk $UPD/CD$CDNUM | awk '{print $1}'`
|
||||
if [ $SIZE_USED -gt $CDSIZE ] ; then
|
||||
# Back out the last file added
|
||||
echo
|
||||
echo " Overfull: back out $file"
|
||||
size=`stat -c %s $UPD/CD$CDNUM/$file`
|
||||
rm -f $UPD/CD$CDNUM/$file
|
||||
echo
|
||||
echo " Overfull: back out $file ($size bytes)"
|
||||
DIR=`dirname $file`
|
||||
rmdir $DIR > /dev/null 2>&1 || true
|
||||
BACKOUT_FILE=$file
|
||||
|
|
Loading…
Reference in New Issue