diff --git a/debian/changelog b/debian/changelog index 7e144841..c13b7eb1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +livecd-rootfs (2.76) quantal; urgency=low + + * live-build/auto/config: + - Don't try to install an empty task name when building an image without + a live task. + - Fix installation of ubuntu-server fstab removal hook. + - Pass --architectures to 'lb config', to make it easier to build images + for a different architecture. + - Attempt to restrict task installation to the native architecture. + + -- Colin Watson Thu, 23 Aug 2012 11:09:10 +0100 + livecd-rootfs (2.75) quantal; urgency=low * Adjust for live-build interface changes up to 3.0~a57-1ubuntu1. diff --git a/live-build/auto/config b/live-build/auto/config index 041bed3d..207f48b8 100755 --- a/live-build/auto/config +++ b/live-build/auto/config @@ -39,8 +39,26 @@ add_task () shift local task + # The removal of direct task installation support from live-build + # poses some problems. If the chroot has multiarch configured - for + # example, if we're building for amd64 - then dumpavail will show + # foreign-architecture packages which will have their own Task + # lines, but which we don't want to install. (Compare + # PackageContainerInterface::FromTask in apt, which restricts task + # expansion to the native architecture.) We therefore restrict our + # search to stanzas with Architecture: $ARCH or all. + # + # However, even this may not be accurate enough. At the moment I + # have no idea what happens if an Architecture: all package has + # different Task fields on different architectures. This is + # probably a lurking timebomb that we need to fix. In the meantime, + # the Architecture restriction at least saves us from abject + # failure. + for task; do - echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage -wFTask $task" >> "config/package-lists/livecd-rootfs.list.chroot_$pass" + # We need a ridiculous number of backslashes to protect + # parentheses from eval. + echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task" >> "config/package-lists/livecd-rootfs.list.chroot_$pass" done } @@ -229,7 +247,7 @@ case $PROJECT in ;; esac -if [ "$PREINSTALLED" != "true" ]; then +if [ "$PREINSTALLED" != "true" ] && [ "$LIVE_TASK" ]; then add_task live "$LIVE_TASK" fi @@ -291,15 +309,6 @@ case $PROJECT in ;; esac -case $PROJECT in - ubuntu-server) - cat > config/hooks/100-remove-fstab.chroot <> config/chroot echo "LB_BINARY_HOOKS=\"$BINARY_HOOKS\"" >> config/binary +case $PROJECT in + ubuntu-server) + cat > config/hooks/100-remove-fstab.chroot < config/binary_rootfs/excludes << EOF boot/vmlinu?-*