Package: live-build
Version: 2.0~a23-1
Severity: minor
File: /usr/share/live/build/scripts/build/binary_rootfs

Images based on Emdebian Grip are smaller than images based on Squeeze
because the packages exclude directories like /usr/share/man/.

I found that I can achieve equally small images with Squeeze by
excluding those directories at the mksquashfs step:

    # Using -regex below simply means that -e foo/ excludes everything
    # below foo, but NOT foo/ itself.  This is important for /tmp &c.
    mksquashfs $t $t/boot/filesystem.squashfs -root-becomes ... \
        -regex -e \
        tmp/ \
        usr/share/info/ \
        usr/share/locale/ \
        usr/share/man/ \
        [...]

I want to duplicate these exclusions in images built by live-build.
It *looks* like I can simply add a line to config/binary like this:

    MKSQUASHFS_OPTIONS='-regex -e boot/ tmp/ [...]'

Unfortunately, this results in a mksquashfs call where -no-progress,
-info and -sort squashfs.sort are supplied *after* -e, causing
mksquashfs to treat them as exclusions -- effectively ignoring them.

I believe the simplest way to work around this is to have
binary_rootfs prepend (instead of appending) arguments to
MKSQUASHFS_OPTIONS (below, untested).  Another option might be to say
"live-build doesn't allow -e, you must use -ef" (also untested).

diff -ud /usr/share/live/build/scripts/build/binary_rootfs 
/tmp/buffer-content-1378JMi
--- /usr/share/live/build/scripts/build/binary_rootfs   2010-08-15 
04:56:37.000000000 +1000
+++ /tmp/buffer-content-1378JMi 2010-08-31 17:23:12.685375975 +1000
@@ -296,16 +296,16 @@
                # Remove stale squashfs image
                rm -f chroot/filesystem.squashfs
 
-               MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -no-progress"
+               MKSQUASHFS_OPTIONS="-no-progress ${MKSQUASHFS_OPTIONS}"
 
                if [ "${_VERBOSE}" = "true" ]
                then
-                       MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -info"
+                       MKSQUASHFS_OPTIONS="-info ${MKSQUASHFS_OPTIONS}"
                fi
 
                if [ -f config/binary_rootfs/squashfs.sort ]
                then
-                       MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -sort 
squashfs.sort"
+                       MKSQUASHFS_OPTIONS="-sort squashfs.sort 
${MKSQUASHFS_OPTIONS}"
                        cp config/binary_rootfs/squashfs.sort chroot #FIXME
                fi
 

Diff finished.  Tue Aug 31 17:23:12 2010

-- Package-specific info:

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35 (SMP w/2 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages live-build depends on:
ii  debootstrap                   1.0.23     Bootstrap a basic Debian system

Versions of packages live-build recommends:
ii  cpio                          2.11-4     GNU cpio -- a program to manage ar
ii  gettext-base                  0.18.1.1-1 GNU Internationalization utilities
ii  gnu-fdisk                     1.2.4-3+b1 Linux fdisk replacement based on l

Versions of packages live-build suggests:
pn  dosfstools                    <none>     (no description available)
ii  fakeroot                      1.14.4-1   Gives a fake root environment
pn  genisoimage                   <none>     (no description available)
pn  memtest86+ | memtest86        <none>     (no description available)
pn  mtools                        <none>     (no description available)
ii  parted                        2.3-2      The GNU Parted disk partition resi
ii  squashfs-tools                1:4.0-8    Tool to create and append to squas
ii  sudo                          1.7.2p7-1  Provide limited super user privile
pn  syslinux | grub               <none>     (no description available)
pn  uuid-runtime                  <none>     (no description available)
pn  win32-loader                  <none>     (no description available)

-- no debconf information

-- debsums errors found:
debsums: changed file /usr/share/live/build/functions/defaults.sh (from 
live-build package)
debsums: changed file /usr/share/live/build/scripts/build/bootstrap (from 
live-build package)
debsums: changed file /usr/share/live/build/scripts/build/chroot_sources (from 
live-build package)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to