http://groups.google.com/group/linux.debian.devel.cd/browse_thread/thread/7f2235181923c938
Newsgroups: linux.debian.devel.cd Date: Fri, 16 Nov 2001
I'm building a custum debian CD for the norwegian linux for schools project, and am using debian-cd to do this. I've had some problems getting the build system to do what I want, but hoped I had this under control, Alas, something went wrong a few days ago. The CD I made yesterday do not boot (this could be a problem with the burning, so I'll investigate more), but a more serious problem is the fact that the CDs no longer contain all the packages I list in my task file. I've modified debian-cd like this:
Is there any reason why the packages listed in tasks/skolelinux would be missing on the first CD? Is there something I do wrong?
Notice, the directories in our local APT source had to be named dists/woody/local/binary-i386/non-official/. Is the non-official/ name really nesessary? I was unable to get it to work if I placed the packages in directories with other names.
Index: build.sh
RCS file: /var/lib/cvs/skolelinux/src/debian-cd/build.sh,v
retrieving revision 1.1.1.1
retrieving revision 1.4
diff -u -3 -p -u -r1.1.1.1 -r1.4
--- build.sh 26 Aug 2001 11:45:50 -0000 1.1.1.1
+++ build.sh 11 Nov 2001 11:27:30 -0000 1.4
@@ -25,10 +25,10 @@ for CD in 1 2 3 4; do
size=`eval echo '$'"BOOT_SIZE_${CD}"`
[ "$size" = "" ] && size=0
[ $CD = "1" ] && size=$(($size + $disks))
- SIZE_ARGS="$SIZE_ARGS SIZELIMIT${CD}=$(((630 - $size) * 1024 *1024))"
+ SIZE_ARGS="$SIZE_ARGS SIZELIMIT${CD}=$(((593 - $size) * 1024 *1024))"
done
-make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024))
+make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024)) TASK=tasks/skolelinux
echo " ... building the images"
-make official_images
+make bin-official_images
make imagesums
Index: CONF.sh
RCS file: /var/lib/cvs/skolelinux/src/debian-cd/CONF.sh,v
retrieving revision 1.1.1.2
retrieving revision 1.12
diff -u -3 -p -u -r1.1.1.2 -r1.12
--- CONF.sh 21 Oct 2001 21:08:08 -0000 1.1.1.2
+++ CONF.sh 16 Nov 2001 17:44:15 -0000 1.12
@@ -27,7 +27,7 @@ export BASEDIR=`pwd`
export CODENAME=woody
# Version number, "2.2 r0", "2.2 r1" etc.
-export DEBVERSION="3.0 beta"
+export DEBVERSION="3.0 skole pr8"
# Official or non-official set.
# NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
@@ -45,10 +45,12 @@ export ARCH=`dpkg --print-installation-a
# images, however. Also, if you are using an NFS partition for
# some part of this, you must use this option.
# Paths to the mirrors
-export MIRROR=/ftp/debian
+#export MIRROR=/ftp/debian
+export MIRROR=/skolelinux/developer/local0/debian/debian
# Comment the following line if you don't have/want non-US
#export NONUS=/ftp/debian-non-US
+export NONUS=/skolelinux/developer/local0/debian/debian-non-US
# And this option will make you 2 copies of CD1 - one with all the
# non-US packages on it, one with none. Useful if you're likely to
@@ -56,17 +58,20 @@ export MIRROR=/ftp/debian
#export FORCENONUSONCD1=1
# Path of the temporary directory
-export TDIR=/ftp/tmp
+#export TDIR=/ftp/tmp
+export TDIR=/skolelinux/developer/local0/ftp/tmp
# Path where the images will be written
-export OUT=/rack/debian-cd
+#export OUT=/rack/debian-cd
+export OUT=/skolelinux/developer/local0/ftp/debian-cd
# Where we keep the temporary apt stuff.
# This cannot reside on an NFS mount.
-export APTTMP=/ftp/tmp/apt
+#export APTTMP=/ftp/tmp/apt
+export APTTMP=/skolelinux/developer/local0/ftp/tmp/apt
# Do I want to have NONFREE merged in the CD set
-# export NONFREE=1
+export NONFREE=1
# Do I want to have NONFREE on a separate CD (the last CD of the CD set)
# WARNING: Don't use NONFREE and EXTRANONFREE at the same time !
@@ -75,12 +80,12 @@ export APTTMP=/ftp/tmp/apt
# If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
# local packages that you want to put on the CD set then
# uncomment the following line
-# export LOCAL=1
+export LOCAL=1
# If your local packages are not under $MIRROR, but somewhere else,
# you can uncomment this line and edit to to point to a directory
-# containing dists/$CODENAME/local/binary-$ARCH
-# export LOCALDEBS=/home/joey/debian/va/debian
+# containing dists/$CODENAME/local/binary-$ARCH/non-official
+export LOCALDEBS=/local/ftp/skolelinux
# If you want a <codename>-secured tree with a copy of the signed
# Release.gpg and files listed by this Release file, then
@@ -102,6 +107,8 @@ export APTTMP=/ftp/tmp/apt
# export MKISOFS=/usr/bin/mkisofs
# export MKISOFS_OPTS="-r -T" #For normal users
# export MKISOFS_OPTS="-r -F . -T" #For symlink farmers
+
+export MKISOFS=/usr/bin/mkhybrid
# uncomment this to if you want to see more of what the Makefile is doing
#export VERBOSE_MAKE=1Petter Reinholdtsen
> I'll investigate more), but a more serious problem is the fact that > the CDs no longer contain all the packages I list in my task file.
Packages will get dropped if they depend on some other pkg you don't have, or depend on a newer version of some pkg. Maybe an extra depend got added to a pkg or something.
Richard Hirst
> The following packages are now missing from the CD. I have no idea > why.
Did you include the packages in ../tasks/Debian_potato?
Philip Charles
> That might explain some of the packages missing, but not all of them. > Some of the packages we make ourselves are missing. Most of these > packages do not depend on anything.
Check in the temporary dir for a file called log.list2cds, and check its content. Look for the name of missing packages … and read what is explained. You may find why your package wasn't included.
Raphael Hertzog
> Check in the temporary dir for a file called log.list2cds, and check its > content. Look for the name of missing packages ... and read what is > explained. You may find why your package wasn't included.
Thank you very much. Finally a way to debug this situation.
> You also have to make sure, that the indicated package are referenced > in the Packages files (the local one I guess for your own packages).
This seem to be OK.
> Are you sure they disappeared, haven't they simply moved (from CD1 > to CD3 for example) ?
If I read the file log.list2cds correctly, the packages where moved to CD2. I'm not sure why, but I believe CD1 was full. What decide in which order the packages are added to the CDs? Which list of packages are used and in which order? I want to make sure our task list is used first.
Perhaps I need to reduce the list of "standard, required, important and base packages". I do not see the need for both v2.95 and v3.0 of GCC. Three different kernel versions (2.2.19, 2.2.10 and 2.4.12), paired with pcmcia-modules for completely different kernels (2.2.17 and 2.2.18-pre21) do not seem like a good idea.
Again, thank you for pointing me to the log file. :-)
Petter Reinholdtsen
> If I read the file log.list2cds correctly, the packages where moved to > CD2. I'm not sure why, but I believe CD1 was full. What decide in > which order the packages are added to the CDs? Which list of packages > are used and in which order? I want to make sure our task list is > used first.
The list is generated with the task file. The order is respected. However the dependency verification will always include the required dependencies before including the concerned package.
> Perhaps I need to reduce the list of "standard, required, important > and base packages". I do not see the need for both v2.95 and v3.0 of > GCC. Three different kernel versions (2.2.19, 2.2.10 and 2.4.12), > paired with pcmcia-modules for completely different kernels (2.2.17 > and 2.2.18-pre21) do not seem like a good idea.
Yes, you can use an exclude file to limit the standard packages included.
Raphael Hertzog
> > Did you include the packages in ../tasks/Debian_potato?
> No. I added a new file tasks/skolelinux, and modified build.sh to > calle make like this:
> make list COMPLETE=1 $SIZE_ARGS SRCSIZELIMIT=$((635 * 1024 * 1024)) \ > TASK=tasks/skolelinux
> I'm btw using Woody packages, not potato.
This may help.
export EXCLUDE="$BASEDIR"/tasks/exclude-woody
export UNEXCLUDE2="$BASEDIR"/tasks/exclude-woody (This will put the excluded packages on CD2)
Philip Charles