On Mon, 2010-06-28 at 22:43 +0100, Steve McIntyre wrote: > > >Is this list part of the output somewhere when I do a local build > either > >with easy-build.sh or by replicating the invocation from > debian-cd-setup > >SVN? > > It's an excerpt from make_disc_tree.log, produced when > make_disc_trees.pl is laying out packages into the temporary trees. It > logs into the temporary directory where debian-cd is working.
Thanks. > >Subject: boot-x86: detect duplicates in the extra images used for > installation > > > >Several files included under install.{386,amd} are actually identical > to > >others. Rather than duplicating them attempt to detect this and > symlink > >them. > > I don't think sym-links are going to work - the filesystem code in > isolinux is very simple (e.g. it only supports basic 8.3 filenames!) > and I doubt it'll work. Hard links *might*, however. OK, that's a one character change... The files under install.{486,amd}/xen/ don't need to be readable by isolinux, only by the xen tools. I've just had a quick look and they appear to support hardlinks but not symlinks so that's another argument for hardlinks. If we think isolinux would be a problem then we could restrict this to files under install.*/xen/. Ian. --- Subject: boot-x86: detect duplicates in the extra images used for installation Several files included under install.{386,amd} are actually identical to others. Rather than duplicating them attempt to detect this and hardlink them. Since images can be downloaded from the web at build time it is not always possible to detect identical files by looking for the symlinks created by the debian-installer build. Instead we pass a list of potential "doppelgangers" to extra_image each of which is checked for similarity to the new image. I added gtk/vmlinuz (which is always the same as plain vmlinuz) which although not necessary makes it more explicit which kernel goes with the initrd at very little cost. Hardlinks are used in preference to symlinks since these are expected to work better with isolinux and the Xen tools. Signed-off-by: Ian Campbell <i...@hellion.org.uk> diff --git a/tools/boot/squeeze/boot-x86 b/tools/boot/squeeze/boot-x86 index c0a5bdc..2189cbf 100644 --- a/tools/boot/squeeze/boot-x86 +++ b/tools/boot/squeeze/boot-x86 @@ -133,6 +133,8 @@ fi extra_image () { image=$1 + doppelgangers="$2" + dir=$(dirname "$image") mkdir -p $CDDIR/$INSTALLDIR/$dir @@ -146,6 +148,15 @@ extra_image () { wget "$DI_WWW_HOME/cdrom/$image" -O $CDDIR/$INSTALLDIR/"$image" fi fi + + for doppelganger in $doppelgangers ; do + if [ -f "$CDDIR/$INSTALLDIR/$dir/$doppelganger" ] && + cmp -s $CDDIR/$INSTALLDIR/"$image" $CDDIR/$INSTALLDIR/"$dir"/"$doppelganger" ; then + echo " $image identical to $doppelganger. Linking" + ln -nf "$doppelganger" $CDDIR/$INSTALLDIR/"$image" + break + fi + done } # If multiple desktops are to be supported, set the default one @@ -231,7 +242,8 @@ if [ "$THISTYPE" = "isolinux" ]; then fi if [ -e boot$N/isolinux/f3.txt.withgtk ]; then - extra_image gtk/initrd.gz + extra_image gtk/vmlinuz "../vmlinuz" + extra_image gtk/initrd.gz "../initrd.gz" mv boot$N/isolinux/f3.txt.withgtk boot$N/isolinux/f3.txt mv boot$N/isolinux/f4.txt.withgtk boot$N/isolinux/f4.txt if [ -e boot$N/isolinux/isolinux.cfg.withgtk ]; then @@ -243,8 +255,8 @@ if [ "$THISTYPE" = "isolinux" ]; then rm -f boot$N/isolinux/isolinux.cfg.with* if variant_enabled "xen" ; then - extra_image xen/vmlinuz - extra_image xen/initrd.gz + extra_image xen/vmlinuz "../vmlinuz ../gtk/vmlinuz" + extra_image xen/initrd.gz "../initrd.gz ../gtk/initrd.gz" extra_image xen/xm-debian.cfg fi -- -- Ian Campbell Generic Fortune.
signature.asc
Description: This is a digitally signed message part