* Added tools/pi-makelist this time.

* Removed set -e from tools/apt-selection. Apt must be able to fail ...
* Added a separate pi-makelist target.
* Updated the README with Pseudo Image Kit information.
This commit is contained in:
Raphaël Hertzog 2000-02-26 11:41:10 +00:00
parent 1f41fe62d6
commit 93f96e4f49
5 changed files with 97 additions and 12 deletions

View File

@ -465,9 +465,6 @@ bin-images: ok bin-md5list $(OUT)
rm -f $(OUT)/$(CODENAME)-$(ARCH)-$$n.raw; \
$(MKISOFS) $(MKISOFS_OPTS) -V "$$volid" \
-o $(OUT)/$(CODENAME)-$(ARCH)-$$n.raw $$opts $$n ; \
$(BASEDIR)/tools/pi-makelist \
$(OUT)/$(CODENAME)-$(ARCH)-$$n.raw > \
$(OUT)/$(CODENAME)-$(ARCH)-$$n.list; \
done
src-images: ok src-md5list $(OUT)
@echo "Generating the source iso images ..."
@ -480,11 +477,14 @@ src-images: ok src-md5list $(OUT)
rm -f $(OUT)/$(CODENAME)-src-$$n.raw; \
$(MKISOFS) $(MKISOFS_OPTS) -V "$$volid" \
-o $(OUT)/$(CODENAME)-src-$$n.raw $$opts $$n ; \
$(BASEDIR)/tools/pi-makelist \
$(OUT)/$(CODENAME)-src-$$n.raw > \
$(OUT)/$(CODENAME)-src-$$n.list; \
done
# Generate the *.list files for the Pseudo Image Kit
pi-makelist:
@for file in $(OUT)/$(CODENAME)-*.raw; do \
$(BASEDIR)/tools/pi-makelist \
$$file > $${file%%.raw}.list \
done
# Generate only one image number $(CD)
image: bin-image

26
README
View File

@ -19,7 +19,8 @@ Software :
- perl (>= 5.004)
- bash (or another POSIX shell)
- make
- mkisofs/mkhybrid
- mkisofs/mkhybrid (mkisofs also provides the isoinfo binary used by the
Pseudo Image Kit)
- dpkg-multicd package (for dpkg-scanpackages with -m option)
- the perl MD5 module
- dpkg-dev (>= 1.4.1.6) (for dpkg-scansources)
@ -32,7 +33,8 @@ Other :
-------------------------------
- GENERATING DEBIAN CD IMAGES -
-------------------------------
For people that do not have time, here's the quick explanation :
================================================================
@ -47,6 +49,7 @@ $ make official_images
But you really should consider reading further for more information.
How to build a CD set - step by step
====================================
@ -156,7 +159,24 @@ The process of building a CD is decomposed as follow :
images you can do it with :
$ make imagesums
Additionnal targets
===================
Pseudo Image Kit
----------------
Those of you, who will make images available to people for download may
consider using the Pseudo Image Kit (cf http://cdimage.debian.org for more
information). That's why you can launch "make pi-makelist" that will generate
the *.list files for the images you've just generated.
The tools/pi-makelist script needs the isoinfo binary. You can get the
sources from http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
Alternatively (and certainly simpler for people using Debian system), the
isoinfo binary is in the mkisofs package (since Debian potato at least).
About the hook system
=====================

4
debian/changelog vendored
View File

@ -17,8 +17,8 @@ debian-cd (2.1.92) frozen unstable; urgency=low
file is included at the end of the Debian_potato task in order to
include the packages that are widely used on the first CD if possible.
* Added a bunch of set -e.
* Added pi-makelist to generate the *.list files used by the Pseudo
Image Kit.
* Added pi-makelist target to generate the *.list files used by the
Pseudo Image Kit. Needs isoinfo in the cdwrite package.
* Updated README and README.devel. Explained that the main source
is on CVS and that patch should apply on the CVS tree not on the
source package available on the Debian FTP.

View File

@ -3,7 +3,9 @@
# This is a little shell script that will launch apt-get in dry-run mode
# to find all the dependencies of a specific package
set -e
# There's not set -e here because this script may fail !
# Apt doesn't always work ...
# set -e
# Get the configuration information if necessary
if [ -z "$TDIR" -o -z "$CODENAME" -o -z "$ARCH" ]; then

63
tools/pi-makelist Executable file
View File

@ -0,0 +1,63 @@
#! /bin/sh
if [ "$1" == "" ] ; then
echo ""
echo 'Usage: pi-makelist cdimage.iso > cdimage.iso.list'
echo ""
echo "Will print on stdout the ordered list of files in the ISO 9660 image."
echo ""
echo 'Copyright (C) 1999 J.A. Bezemer <costar@panic.et.tudelft.nl>'
echo "Released under GNU GPL NO WARRANTY AT ALL USE AT YOUR OWN RISK"
echo ""
exit
fi
# In my testing situation, isoinfo was in . but . wasn't in the PATH.
PATH="$PATH":.
export PATH
# The rest is one long pipe. The best way to find out why it works is
# to comment out all but the first command, and then remove one hash
# each run.
isoinfo -i "$1" -R -l -f \
| grep -B 1 '^-' \
| grep -v '^--$' \
| (
while read ThisFile; do
read ThisInfoLine
echo "$ThisInfoLine" ["$ThisFile"]
done
) \
| tr ']' '[' \
| cut -d '[' -f 2,4 \
| sort \
| cut -d '[' -f 2 \
| grep -v -e '/Packages' \
-e '/Sources' \
-e 'TRANS.TBL$' \
-e '^/md5sum.txt$' \
-e '^/Release-Notes$' \
-e '^/README.1ST$' \
-e '^/README.multicd$' \
-e '^/.disk/' \
-e '^/boot/' \
-e '^/install/' \
-e '^/tools/.*/' \
-e '^/tools/README.tools$' \
-e '.info$' \
-e '.m68k$' \
-e '^/m68k-faq/' \
-e '^/m68k-tools/' \
-e '^/extras/'
# Note: we grep /install/ out because contents are also on other places
# on the CD; rsync will duplicate them. Same with /boot/resc1440.bin
# (/boot/boot.catalog is made during image generation).
# Packages[.cd][.gz] are usually not the same as those on FTP. Same with
# Sources[.gz].
# And the /tools are only zipped on FTP.
# /xxx.info is only on the m68k CDs and not on FTP.
# *.m68k is not on FTP; m68k-faq and -tools are not on the Debian FTPs.