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

Bug#594968: marked as done (Support mksquashfs -e by prepending (not appending) to MKSQUASHFS_OPTIONS.)



Your message dated Tue, 31 Aug 2010 21:21:10 +0200
with message-id <4C7D5626.4000408@debian.org>
and subject line Re: Bug#594968: Support mksquashfs -e by prepending (not appending) to MKSQUASHFS_OPTIONS.
has caused the Debian Bug report #594968,
regarding Support mksquashfs -e by prepending (not appending) to MKSQUASHFS_OPTIONS.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
594968: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594968
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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)



--- End Message ---
--- Begin Message ---
On 08/31/2010 09:29 AM, Trent W. Buck wrote:
> 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/ [...]'

variables not prefixed with LH_ are strictly internal and shall *not* be
used at all and are subject to change without notice. if you use them,
you do at your own risk and may get unpredictable changes. we wont
support that.

> 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).

no, please use config/binary_rootfs/excludes for exclude handlings.

-- 
Address:        Daniel Baumann, Burgunderstrasse 3, CH-4562 Biberist
Email:          daniel.baumann@panthera-systems.net
Internet:       http://people.panthera-systems.net/~daniel-baumann/


--- End Message ---

Reply to: