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=1
Petter 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