[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

debian cd patch + images



hi.

attached is my patch to debian-cd to create images.
current potato debian-cd does not work (bootdisks), i fixed that.
i also added some "set -e" to various shell scripts (paranoia rules),
added commands to the makefile to create md5sums of the *.raw files,
and added the pi-makelist script from pseude image kit, so list files
are created. don´t forget "chmod +x tools/pi-makelist" after applying the
patch.

my only test was: the script ran successfully.
so far i did not burn the images or test them in any way. 

if you don´t have the resources to create you own cd images:
rsync 129.13.126.5::debian-cd/
please use the *.list files and your local cd ftp server with
pseudo image kit to reduce the server load as much as necessary.
yes, i have 100 mbit to the german education network, so bandwith
for german users should be fine. but my university is under constant
attack from outside, so sometimes the net connectivity does not work.

also, i will update the images sometimes. a file called CREATING-NEW-IMAGES
is available during that time. my ftp source is ftp.rfc822.org (via rsync),
so my ftp tree should be up to date and ok. 

note: as soon as i need the disk space, my debian mirror and the images
will vanish. so please do not add it to public lists. but i guess it will
last at least 4-8 weeks.

andreas
diff -udrNP debian-cd-2.1.91.orig/Makefile debian-cd-2.1.91/Makefile
--- debian-cd-2.1.91.orig/Makefile	Sat Nov 13 15:47:54 1999
+++ debian-cd-2.1.91/Makefile	Fri Feb 18 22:52:06 2000
@@ -465,6 +465,10 @@
 		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; \
+		md5sum $(OUT)/$(CODENAME)-$(ARCH)-$$n.* >> $(OUT)/MD5SUMS ; \
 	done
 src-images: ok src-md5list $(OUT)
 	@echo "Generating the source iso images ..."
@@ -477,6 +481,10 @@
 		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; \
+		md5sum $(OUT)/$(CODENAME)-src-$$n.* >> $(OUT)/MD5SUMS ; \
 	done
 
 
diff -udrNP debian-cd-2.1.91.orig/tools/apt-selection debian-cd-2.1.91/tools/apt-selection
--- debian-cd-2.1.91.orig/tools/apt-selection	Thu Nov 11 18:10:41 1999
+++ debian-cd-2.1.91/tools/apt-selection	Fri Feb 18 19:02:39 2000
@@ -3,6 +3,8 @@
 # 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
+
 # Get the configuration information if necessary
 if [ -z "$TDIR" -o -z "$CODENAME" -o -z "$ARCH" ]; then
 	if [ -e CONF.sh ]; then
diff -udrNP debian-cd-2.1.91.orig/tools/boot/potato/boot-alpha debian-cd-2.1.91/tools/boot/potato/boot-alpha
--- debian-cd-2.1.91.orig/tools/boot/potato/boot-alpha	Thu Nov 11 19:55:23 1999
+++ debian-cd-2.1.91/tools/boot/potato/boot-alpha	Fri Feb 18 19:03:21 2000
@@ -9,6 +9,8 @@
 # Do install stuff for alpha, including making bootable CDs
 #
 
+set -e
+
 N=$1
 CDDIR=$2
 
diff -udrNP debian-cd-2.1.91.orig/tools/boot/potato/boot-i386 debian-cd-2.1.91/tools/boot/potato/boot-i386
--- debian-cd-2.1.91.orig/tools/boot/potato/boot-i386	Thu Nov 11 20:28:32 1999
+++ debian-cd-2.1.91/tools/boot/potato/boot-i386	Fri Feb 18 20:03:47 2000
@@ -12,6 +12,8 @@
 # $1 is the CD number
 # $2 is the temporary CD build dir
 
+set -e
+
 N=$1
 CDDIR=$2
 BOOTDIR=
@@ -41,14 +43,14 @@
 
 # Now we do disk 1 ...
 
-echo -n "-J -b boot/resc2880.bin -c boot/boot.catalog boot1" > 1.mkisofs_opts
+echo -n "-J -b boot/rescue.bin -c boot/boot.catalog boot1" > 1.mkisofs_opts
 
-(cd $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/ ; \
-	cp resc*.bin linux root.bin $CDDIR/install )
+(cp -a $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/ $CDDIR/install
+)
 
 mkdir -p boot1/boot
 
-cp $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/resc2880.bin	boot1/boot
+cp $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/disks-2.88/rescue.bin	boot1/boot
 
 
 #Extracting tools for disc 1
diff -udrNP debian-cd-2.1.91.orig/tools/boot/potato/boot-m68k debian-cd-2.1.91/tools/boot/potato/boot-m68k
--- debian-cd-2.1.91.orig/tools/boot/potato/boot-m68k	Thu Nov 11 19:55:23 1999
+++ debian-cd-2.1.91/tools/boot/potato/boot-m68k	Fri Feb 18 19:03:32 2000
@@ -38,6 +38,8 @@
 # The first two items are in a tar file at master.debian.org:~lawrencc, along
 # with a silly rsync script that will accomplish the last item.
 
+set -e
+
 N=$1
 CDDIR=$2
 
diff -udrNP debian-cd-2.1.91.orig/tools/boot/potato/boot-powerpc debian-cd-2.1.91/tools/boot/potato/boot-powerpc
--- debian-cd-2.1.91.orig/tools/boot/potato/boot-powerpc	Thu Nov 11 19:55:23 1999
+++ debian-cd-2.1.91/tools/boot/potato/boot-powerpc	Fri Feb 18 19:03:36 2000
@@ -11,6 +11,8 @@
 # $1 is the CD number
 # $2 is the temporary CD build dir
 
+set -e
+
 N=$1
 CDROOT=$2
 
diff -udrNP debian-cd-2.1.91.orig/tools/boot/potato/boot-sparc debian-cd-2.1.91/tools/boot/potato/boot-sparc
--- debian-cd-2.1.91.orig/tools/boot/potato/boot-sparc	Thu Nov 11 19:55:23 1999
+++ debian-cd-2.1.91/tools/boot/potato/boot-sparc	Fri Feb 18 19:03:40 2000
@@ -9,6 +9,8 @@
 #
 # Do install stuff for sparc, including making bootable CDs
 
+set -e
+
 N=$1
 CDDIR=$2
 
diff -udrNP debian-cd-2.1.91.orig/tools/pi-makelist debian-cd-2.1.91/tools/pi-makelist
--- debian-cd-2.1.91.orig/tools/pi-makelist	Thu Jan  1 01:00:00 1970
+++ debian-cd-2.1.91/tools/pi-makelist	Fri Feb 18 21:03:44 2000
@@ -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.
diff -udrNP debian-cd-2.1.91.orig/tools/potato/installtools.sh debian-cd-2.1.91/tools/potato/installtools.sh
--- debian-cd-2.1.91.orig/tools/potato/installtools.sh	Sat Nov 13 15:21:21 1999
+++ debian-cd-2.1.91/tools/potato/installtools.sh	Fri Feb 18 19:12:42 2000
@@ -5,17 +5,18 @@
 set -e
 
 BDIR=$TDIR/$CODENAME-$ARCH
+DOCDIRNAME=doc
 
 # Put the install documentation in /install
-cd $BDIR/1/dists/$CODENAME/main/disks-$ARCH/current/documentation
-mkdir $BDIR/1/install/documentation
-cp *.{html,txt} $BDIR/1/install/documentation/
+cd $BDIR/1/dists/$CODENAME/main/disks-$ARCH/current/$DOCDIRNAME
+mkdir $BDIR/1/install/$DOCDIRNAME
+cp *.{html,txt} $BDIR/1/install/$DOCDIRNAME/
 ln -sf install*.html $BDIR/1/install/index.html
 
-# Put the boot-disk documentation in /doc too
+# Put the boot-disk $DOCDIRNAME in /doc too
 mkdir $BDIR/1/doc/install
 cd $BDIR/1/doc/install
-for file in ../../install/documentation/*.{html,txt}
+for file in ../../install/$DOCDIRNAME/*.{html,txt}
 do
 	ln -s $file
 done
diff -udrNP debian-cd-2.1.91.orig/tools/scansources debian-cd-2.1.91/tools/scansources
--- debian-cd-2.1.91.orig/tools/scansources	Thu Nov 11 18:10:41 1999
+++ debian-cd-2.1.91/tools/scansources	Fri Feb 18 19:03:01 2000
@@ -6,7 +6,7 @@
 # This script will create the Sources.gz files
 # First arg = directory of the CD
 
-#set -e
+set -e
 
 PREFIX=$1
 if [ -n "$NONFREE" ]; then

Reply to: