Bug#93612: Support for new archive structure
Package: cdimage.debian.org
Severity: important
So, we currently have support for signed overviews of everything
in a distribution, by way of the dists/woody/Release and
dists/woody/Release.gpg files.
This'd do us more good if as well as being on the archives, it were on
the CDs we'll eventually distribute.
For this to work, the Release and Release.gpg files should be verbatim
from the archive. For that to work, the Packages and Sources files also
must be verbatim from the archive. For that to work, the .debs have to
be in the same locations they are in the archive.
That is, the CD's for woody when it's released should look like:
/cdrom/
README
README.htm
...
debian/
dists/woody/
Release
Release.gpg
main/binary-i386/
Packages.gz
pool/main/
a/
aalib/
...
The Release file will list more Packages files than are actually on
the CD (it'll include other architectures and contrib and non-free),
and the Packages files will list more .debs than are actually on the CD
(since it'll list all .debs in the entire component, not just the ones
that fit on a single CD).
So, all in all, something like:
MIRROR=/org/ftp.debian.org/ftp
DEST=/org/scratch/ajt/woody-i386-cd
SUITE=woody
ARCH=i386
VERSION=2.3
mkdir -p $DEST/dists/$SUITE
ln -s $SUITE $DEST/dists/stable
ln -s $SUITE $DEST/dists/unstable
ln -s $SUITE $DEST/dists/testing
ln -s $SUITE $DEST/dists/frozen
ln -s $SUITE $DEST/dists/Debian$VERSION
mkdir -p $DEST/dists/$SUITE/main/binary-$ARCH
mkdir -p $DEST/dists/$SUITE/main/source
cp $MIRROR/dists/$SUITE/Release{,.gpg} $DEST/dists/$SUITE/
cp $MIRROR/dists/$SUITE/main/binary-$ARCH/Packages* \
$DEST/dists/$SUITE/main/binary-$ARCH/
cp $MIRROR/dists/$SUITE/main/binary-$ARCH/Sources* \
$DEST/dists/$SUITE/main/source/
zcat $MIRROR/dists/$SUITE/main/binary-$ARCH/Packages.gz |
awk '/^Package: / { P = $2 } /^Filename:/ { F = $2 } /^Size:/ { S = $2 } /^$/ { print P, S, F }' |
(
# install the first 650MB of packages
totsize=0
while read pkg size locn; do
totsize=$(($totsize + $size/1000 + 1))
if [ $totsize -gt 650000 ]; then continue; fi
echo adding $pkg
mkdir -p $DEST/$(dirname $locn)
cp $MIRROR/$locn $DEST/$locn
done
)
...should be the sort of thing to do. That means not running
dpkg-scanpackages or dpkg-scansources (which should be a win). It might
trigger a bunch of apt-cdrom warnings still when people try to install
from it, but those are things that need to be fixed in apt-cdrom...
It should make it easier to calculate how much space you can use
for .debs; since you shouldn't need to add X MB packages files after
installing them.
Cheers,
aj
--
Anthony Towns <aj@humbug.org.au> <http://azure.humbug.org.au/~aj/>
I don't speak for anyone save myself. GPG signed mail preferred.
``_Any_ increase in interface difficulty, in exchange for a benefit you
do not understand, cannot perceive, or don't care about, is too much.''
-- John S. Novak, III (The Humblest Man on the Net)
Reply to: