Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# start_new_disc
|
|
|
|
#
|
|
|
|
# Start a new temporary disc tree, including all the basic metadata
|
|
|
|
# needed
|
|
|
|
|
|
|
|
set -e
|
|
|
|
#set -x
|
|
|
|
|
|
|
|
BASEDIR=$1
|
|
|
|
MIRROR=$2
|
|
|
|
TDIR=$3
|
|
|
|
CODENAME=$4
|
|
|
|
ARCHES="$5"
|
|
|
|
DISKNUM=$6
|
|
|
|
SOURCEDISK=0
|
|
|
|
BINARYDISK=0
|
|
|
|
|
|
|
|
BDIR=$TDIR/$CODENAME
|
|
|
|
CDDIR=$BDIR/CD${DISKNUM}
|
|
|
|
DATE=`cat $BDIR/DATE`
|
|
|
|
DI_DATA_DIR=$BASEDIR/data/$DI_CODENAME
|
|
|
|
|
|
|
|
CAPCODENAME=`perl -e "print ucfirst("$CODENAME")"`
|
|
|
|
|
|
|
|
NUM_ARCHES=`echo $ARCHES | wc -w`
|
|
|
|
|
|
|
|
if [ $NUM_ARCHES = 1 ] ; then
|
|
|
|
case $ARCHES in
|
|
|
|
source)
|
|
|
|
SOURCEDISK=1
|
2006-12-10 20:27:06 -01:00
|
|
|
export DISKINFO="Debian GNU/Linux $DEBVERSION \"$CAPCODENAME\" - $OFFICIAL $DISKTYPE Source-$DISKNUM $BUILD_DATE"
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export VOLID="Debian $DEBVERSION Src-$DISKNUM"
|
|
|
|
export SOURCEONLY=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
BINARYDISK=1
|
2006-12-10 20:27:06 -01:00
|
|
|
export DISKINFO="Debian GNU/Linux $DEBVERSION \"$CAPCODENAME\" - $OFFICIAL $ARCHES $DISKTYPE Binary-$DISKNUM $BUILD_DATE"
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
if [ $ARCHES = powerpc ] ; then
|
|
|
|
export VOLID="Debian $DEBVERSION ppc Bin-$DISKNUM"
|
|
|
|
else
|
|
|
|
export VOLID="Debian $DEBVERSION $ARCHES Bin-$DISKNUM"
|
|
|
|
fi
|
|
|
|
export ARCHDEF=$ARCHES
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
BINARYDISK=1
|
|
|
|
case "$ARCHES" in
|
|
|
|
*source*) SOURCEDISK=1;;
|
|
|
|
esac
|
|
|
|
export ARCHDEF=`echo $ARCHES | sed 's? ?/?g'`
|
2006-12-10 20:27:06 -01:00
|
|
|
export DISKINFO="Debian GNU/Linux $DEBVERSION \"$CAPCODENAME\" - $OFFICIAL Multi-architecture $ARCHDEF $DISKTYPE #$DISKNUM $BUILD_DATE"
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export VOLID="Debian $DEBVERSION M-A $DISKNUM"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Starting new $ARCHDEF $DISKTYPE $DISKNUM at $CDDIR"
|
|
|
|
|
|
|
|
mkdir -p $CDDIR
|
|
|
|
echo " Adding the required directories"
|
|
|
|
|
|
|
|
if [ ! -e $CDDIR/debian ] ; then
|
|
|
|
ln -sf . $CDDIR/debian
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d $CDDIR/dists/$CODENAME ] ; then
|
|
|
|
mkdir -p $CDDIR/dists/$CODENAME
|
|
|
|
for name in stable unstable frozen testing; do
|
|
|
|
ln -sf $CODENAME $CDDIR/dists/$name
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Commodity link for tools which want local in dists/local/local ...
|
|
|
|
if [ -n "$LOCAL" ]
|
|
|
|
then
|
|
|
|
ln -sf $CODENAME $CDDIR/dists/local
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d $CDDIR/.disk ] ; then
|
|
|
|
mkdir $CDDIR/.disk
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo " Generating the image label and volume id"
|
|
|
|
echo -n $DISKINFO > $CDDIR/.disk/info
|
|
|
|
echo -n "$DISKINFO ($DATE)" > $BDIR/$DISKNUM.diskinfo
|
|
|
|
echo '#define DISKNAME ' $DISKINFO > $CDDIR/README.diskdefines
|
|
|
|
echo '#define ARCH ' $ARCHDEF >> $CDDIR/README.diskdefines
|
|
|
|
for ARCH in $ARCHES
|
|
|
|
do
|
|
|
|
echo '#define ARCH'$ARCH ' 1' >> $CDDIR/README.diskdefines
|
|
|
|
done
|
|
|
|
echo '#define DISKNUM ' $DISKNUM >> $CDDIR/README.diskdefines
|
|
|
|
echo '#define DISKNUM'$DISKNUM ' 1' >> $CDDIR/README.diskdefines
|
|
|
|
echo -n $VOLID > $BDIR/$DISKNUM.volid
|
|
|
|
|
|
|
|
if [ $BINARYDISK = 1 ] ; then
|
|
|
|
echo '#define TYPEbinary 1' >> $CDDIR/README.diskdefines
|
|
|
|
set_mkisofs_opts bin $DISKNUM >> $BDIR/$DISKNUM.mkisofs_opts
|
|
|
|
fi
|
|
|
|
if [ $SOURCEDISK = 1 ] ; then
|
|
|
|
echo '#define TYPEsource 1' >> $CDDIR/README.diskdefines
|
|
|
|
set_mkisofs_opts src $DISKNUM >> $BDIR/$DISKNUM.mkisofs_opts
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $DISKNUM = 1 ] ; then
|
|
|
|
if [ ! -e $MIRROR/tools ] || [ ! -e $MIRROR/doc ] ; then
|
|
|
|
echo "You need a Debian mirror with the doc, tools and"
|
|
|
|
echo "indices directories ! "
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Add install stuff
|
|
|
|
if [ "$SOURCEONLY"x != "yes"x ] ; then
|
|
|
|
echo " Adding tools to CD1"
|
|
|
|
add_files $CDDIR $MIRROR tools
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo " Adding .disk/base_components"
|
|
|
|
echo "main" > $CDDIR/.disk/base_components
|
|
|
|
if [ -n "$LOCAL" ] ; then
|
|
|
|
echo "local" > $CDDIR/.disk/base_components
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo " Adding .disk/cd_type"
|
2006-12-10 19:12:46 -01:00
|
|
|
if [ "$COMPLETE"x = "1"x ]; then
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
if [ $DISKTYPE = DVD ]; then
|
2006-12-07 22:51:14 -01:00
|
|
|
echo "dvd" > $CDDIR/.disk/cd_type
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
else
|
2006-12-07 22:51:14 -01:00
|
|
|
echo "full_cd" > $CDDIR/.disk/cd_type
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
fi
|
|
|
|
else
|
2006-12-07 22:51:14 -01:00
|
|
|
echo "not_complete" > $CDDIR/.disk/cd_type
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
fi
|
|
|
|
|
|
|
|
echo " Adding udeb/base includes/excludes"
|
|
|
|
|
|
|
|
for ARCH in $ARCHES
|
|
|
|
do
|
|
|
|
if [ $ARCH != source ] ; then
|
|
|
|
# Netinst/businesscard CD have different
|
|
|
|
# udeb_include and udeb_exclude files
|
|
|
|
if [ -z "$UDEB_INCLUDE" ] ; then
|
|
|
|
case "$INSTALLER_CD"x in
|
|
|
|
"1"x)
|
|
|
|
UDEB_INCLUDE=$DI_DATA_DIR/"$ARCH"_businesscard_udeb_include;;
|
|
|
|
"2"x)
|
|
|
|
UDEB_INCLUDE=$DI_DATA_DIR/"$ARCH"_netinst_udeb_include;;
|
|
|
|
*)
|
|
|
|
UDEB_INCLUDE=$DI_DATA_DIR/"$ARCH"_udeb_include;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "$UDEB_EXCLUDE" ] ; then
|
|
|
|
case "$INSTALLER_CD"x in
|
|
|
|
"1"x)
|
|
|
|
UDEB_EXCLUDE=$DI_DATA_DIR/"$ARCH"_businesscard_udeb_exclude;;
|
|
|
|
"2"x)
|
|
|
|
UDEB_EXCLUDE=$DI_DATA_DIR/"$ARCH"_netinst_udeb_exclude;;
|
|
|
|
*)
|
|
|
|
UDEB_EXCLUDE=$DI_DATA_DIR/"$ARCH"_udeb_exclude;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Sort out the udeb include and exclude files
|
|
|
|
if [ -n "$UDEB_INCLUDE" ] ; then
|
|
|
|
if [ -r "$UDEB_INCLUDE" ] ; then
|
|
|
|
cat "$UDEB_INCLUDE" >> "$CDDIR/.disk/udeb_include"
|
|
|
|
else
|
|
|
|
echo "ERROR: Unable to read UDEB_INCLUDE file $UDEB_INCLUDE"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [ -n "$UDEB_EXCLUDE" ] ; then
|
|
|
|
if [ -r "$UDEB_EXCLUDE" ] ; then
|
|
|
|
cat "$UDEB_EXCLUDE" >> "$CDDIR/.disk/udeb_exclude"
|
|
|
|
else
|
|
|
|
echo "ERROR: Unable to read UDEB_EXCLUDE file $UDEB_EXCLUDE"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Ditto the base include and exclude
|
|
|
|
if [ -n "$BASE_INCLUDE" ] ; then
|
|
|
|
if [ -r "$BASE_INCLUDE" ] ; then
|
|
|
|
cat "$BASE_INCLUDE" >> "$CDDIR/.disk/base_include"
|
|
|
|
else
|
|
|
|
echo "ERROR: Unable to read BASE_INCLUDE file $BASE_INCLUDE"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [ -n "$BASE_EXCLUDE" ] ; then
|
|
|
|
if [ -r "$BASE_EXCLUDE" ] ; then
|
|
|
|
cat "$BASE_EXCLUDE" >> "$CDDIR/.disk/base_exclude"
|
|
|
|
else
|
|
|
|
echo "ERROR: Unable to read BASE_EXCLUDE file $BASE_EXCLUDE"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
echo " Adding docs to CD1"
|
|
|
|
add_files $CDDIR $MIRROR doc
|
|
|
|
find $CDDIR/doc -name "dedication-*" | grep -v $DEBVERSION | xargs rm -f
|
|
|
|
find $CDDIR/doc -name "debian-keyring.tar.gz" | xargs rm -f
|
|
|
|
|
|
|
|
if [ ! -e $CDDIR/doc/FAQ/html ] ; then
|
|
|
|
echo " Extracting FAQ on CD1"
|
|
|
|
mkdir $CDDIR/doc/FAQ/html
|
|
|
|
cd $CDDIR/doc/FAQ/html
|
|
|
|
if [ -e "../debian-faq.en.html.tar.gz" ] ; then
|
2006-12-08 10:56:52 -01:00
|
|
|
tar xzf ../debian-faq.en.html.tar.gz
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
else
|
2006-12-08 10:56:52 -01:00
|
|
|
tar xzf ../debian-faq.html.tar.gz
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
for ARCH in $ARCHES
|
|
|
|
do
|
|
|
|
if [ -e $MIRROR/dists/$DI_CODENAME/main/disks-$ARCH ] ; then
|
|
|
|
echo " Adding disks-$ARCH stuff ..."
|
|
|
|
mkdir -p $CDDIR/dists/$DI_CODENAME/main/disks-$ARCH
|
|
|
|
add_files $CDDIR/dists/$DI_CODENAME/main/disks-$ARCH $MIRROR/dists/$DI_CODENAME/main/disks-$ARCH .
|
|
|
|
touch $CDDIR/.disk/kernel_installable
|
|
|
|
cd $CDDIR/dists/$DI_CODENAME/main/disks-$ARCH
|
|
|
|
rm -rf base-images-*
|
|
|
|
if [ -L current ] ; then
|
|
|
|
CURRENT_LINK=`readlink current`
|
|
|
|
mv $CURRENT_LINK .tmp_link
|
|
|
|
rm -rf [0123456789]*
|
|
|
|
mv .tmp_link $CURRENT_LINK
|
|
|
|
elif [ -d current ] ; then
|
|
|
|
rm -rf [0123456789]*
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Common stuff for all disks
|
|
|
|
if [ "$SOURCEONLY"x = "yes"x ] ; then
|
|
|
|
echo -n "-J " >> $BDIR/$DISKNUM.mkisofs_opts
|
|
|
|
> $BDIR/$DISKNUM.mkisofs_dirs
|
|
|
|
else
|
|
|
|
echo " Adding common docs on binary CD#$DISKNUM"
|
|
|
|
add-bin-doc $DISKNUM "$ARCHES"
|
|
|
|
|
|
|
|
# Installtools
|
|
|
|
mkdir $CDDIR/install
|
|
|
|
if [ -x "$BASEDIR/tools/$CODENAME/installtools.sh" ] ; then
|
|
|
|
echo " Adding installtools"
|
|
|
|
$BASEDIR/tools/$CODENAME/installtools.sh $CDDIR "$ARCHES"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo " Adding Release files"
|
|
|
|
# Release files
|
|
|
|
cd $CDDIR
|
|
|
|
|
|
|
|
SECTIONS="main"
|
|
|
|
if [ "${NONFREE:-0}" != "0" -o "${EXTRANONFREE:-0}" != "0" ] ; then
|
|
|
|
SECTIONS="${SECTIONS} non-free"
|
|
|
|
fi
|
|
|
|
if [ "${CONTRIB:-0}" != "0" ] ; then
|
|
|
|
SECTIONS="${SECTIONS} contrib"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$LOCAL" ] ; then
|
|
|
|
SECTIONS="$SECTIONS local"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# these two lines can be inserted below the "Architectures" line below,
|
|
|
|
# to sort out broken Release files just after the testing --> stable
|
|
|
|
# transition
|
|
|
|
# sed -e "s/^Suite: .*$/Suite: stable/" | \
|
|
|
|
# sed -e "s/^Description: .*$/Description: Debian $DEBVERSION/" | \
|
|
|
|
|
|
|
|
if [ -e "$MIRROR/dists/$CODENAME/Release" ] ; then
|
|
|
|
# Strip the MD5Sum and SHA1 fields
|
|
|
|
# Update some other information as well
|
|
|
|
sed -e "s/^Architectures: .*$/Architectures: $ARCHES/" \
|
|
|
|
$MIRROR/dists/$CODENAME/Release | \
|
|
|
|
sed -e "s|^Components: .*$|Components: $SECTIONS|" | \
|
2006-12-09 21:31:23 -01:00
|
|
|
perl -ne 'if (/^(MD5Sum|SHA1|SHA256):/i) { $f=1; next }
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
if ($f) {
|
|
|
|
unless (/^ /) { print; $f=0 }
|
|
|
|
} else { print }' > dists/$CODENAME/Release
|
|
|
|
else
|
|
|
|
echo "ERROR: Release file ($MIRROR/dists/$CODENAME/Release) is missing !"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Copying individual release files
|
|
|
|
for ARCH in $ARCHES
|
|
|
|
do
|
|
|
|
for SECT in $SECTIONS
|
|
|
|
do
|
|
|
|
# Install the release files
|
|
|
|
if [ -e "$MIRROR/dists/$CODENAME/$SECT/binary-$ARCH/Release" ] ; then
|
|
|
|
mkdir -p dists/$CODENAME/$SECT/binary-$ARCH
|
|
|
|
cp $MIRROR/dists/$CODENAME/$SECT/binary-$ARCH/Release \
|
|
|
|
dists/$CODENAME/$SECT/binary-$ARCH/
|
|
|
|
fi
|
|
|
|
if [ -n "$NONUS" -a -e "$NONUS/dists/$CODENAME/non-US/$SECT/binary-$ARCH/Release" ] ; then
|
|
|
|
mkdir -p dists/$CODENAME/non-US/$SECT/binary-$ARCH
|
|
|
|
cp $NONUS/dists/$CODENAME/non-US/$SECT/binary-$ARCH/Release \
|
|
|
|
dists/$CODENAME/non-US/$SECT/binary-$ARCH/
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ -n "$LOCALDEBS" -a -n "$LOCAL" ] ; then
|
|
|
|
if [ -e $LOCALDEBS/dists/$CODENAME/local/binary-$ARCH/Release ] ; then
|
|
|
|
mkdir -p dists/$CODENAME/local/binary-$ARCH
|
|
|
|
cp $LOCALDEBS/dists/$CODENAME/local/binary-$ARCH/Release \
|
|
|
|
dists/$CODENAME/local/binary-$ARCH/
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -e "$MIRROR/dists/$DI_CODENAME/main/debian-installer/binary-$ARCH/Release" ] ; then
|
|
|
|
mkdir -p dists/$CODENAME/main/debian-installer/binary-$ARCH
|
|
|
|
cp $MIRROR/dists/$DI_CODENAME/main/debian-installer/binary-$ARCH/Release \
|
|
|
|
dists/$CODENAME/main/debian-installer/binary-$ARCH/
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# Upgrade packages / kernels
|
|
|
|
if [ "$SOURCEONLY"x != "yes"x ] ; then
|
|
|
|
echo " Trying to add upgrade* directories"
|
|
|
|
if [ -x "$BASEDIR/tools/$CODENAME/upgrade.sh" ] ; then
|
|
|
|
$BASEDIR/tools/$CODENAME/upgrade.sh
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
for ARCH in $ARCHES
|
|
|
|
do
|
|
|
|
export ARCH=$ARCH
|
|
|
|
if [ $ARCH != source ] ; then
|
|
|
|
if [ -x "$BASEDIR/tools/$CODENAME/upgrade-$ARCH.sh" ] ; then
|
|
|
|
$BASEDIR/tools/$CODENAME/upgrade-$ARCH.sh $DISKNUM $CDDIR
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo " (Optionally) making the image bootable for $ARCH"
|
|
|
|
if [ -f $BASEDIR/tools/boot/$DI_CODENAME/boot-$ARCH ] ; then
|
|
|
|
cd $TDIR
|
|
|
|
echo " Running tools/boot/$DI_CODENAME/boot-$ARCH $DISKNUM $CDDIR"
|
|
|
|
$BASEDIR/tools/boot/$DI_CODENAME/boot-$ARCH $DISKNUM $CDDIR || true # FIXME!
|
|
|
|
else
|
|
|
|
if [ "${IGNORE_MISSING_BOOT_SCRIPT:-0}" = "0" ] ; then
|
|
|
|
echo " No script to make CDs bootable for $ARCH"
|
|
|
|
echo " We've not been asked to ignore this. Aborting."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
exit 0
|