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

Bug#627183: live-build: minimal hook doesn't seem appropriate for Ubuntu



Package: live-build
Version: 3.0~a16-1
Severity: normal
Tags: patch
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch oneiric

In Ubuntu, we have a task called "minimal" which is what debootstrap
installs, and our old live filesystem builder passes 'minimal^' as one
of the arguments to 'apt-get install'.  I'd like to keep doing this
after we switch to live-build - it's organisationally useful for us to
have this as a task.

However, live-build wants to run the minimal hook if you ask it to
install the minimal task, which strips out several things that we
consider should be installed.  In Debian I assume this isn't a problem
because there's no task called "minimal", but it would be quite a hassle
for us to rename our existing task now.

There doesn't seem to be any way to exclude a hook that happens to match
a task name, and since hooks get a stripped environment I wasn't able to
check LB_MODE in the hook itself either.  Would something like the
attached patch be agreeable to you, or would you prefer some different
approach?

Thanks,

-- 
Colin Watson                                       [cjwatson@ubuntu.com]
>From 1274f14611533d72b09c4a52c4ad4daeac765de6 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@canonical.com>
Date: Wed, 18 May 2011 14:37:14 +0100
Subject: [PATCH] Don't run minimal hook for Ubuntu.

---
 functions/defaults.sh         |    6 ++++++
 scripts/build/lb_chroot_hooks |    6 ++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/functions/defaults.sh b/functions/defaults.sh
index 2aa677f..8526335 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -575,6 +575,12 @@ Set_defaults ()
 
 	# LB_HOOKS
 
+	case "${LB_MODE}" in
+		ubuntu)
+			LB_EXCLUDE_HOOKS="${LB_EXCLUDE_HOOKS:-minimal}"
+			;;
+	esac
+
 	# Setting interactive shell/X11/Xnest
 	LB_INTERACTIVE="${LB_INTERACTIVE:-false}"
 
diff --git a/scripts/build/lb_chroot_hooks b/scripts/build/lb_chroot_hooks
index 3a15956..cb5296f 100755
--- a/scripts/build/lb_chroot_hooks
+++ b/scripts/build/lb_chroot_hooks
@@ -43,6 +43,12 @@ HOOKS="$(echo ${LB_HOOKS} ${LB_PACKAGE_LISTS} ${LB_TASKS} | sed -e 's| |\n|g' |
 
 for HOOK in ${HOOKS}
 do
+	case " ${LB_EXCLUDE_HOOKS} " in
+		*" ${HOOK} "*)
+			continue
+			;;
+	esac
+
 	if [ -f ${LB_BASE:-/usr/share/live/build}/hooks/"${HOOK}" ]
 	then
 		# Copying hook
-- 
1.7.4.1


Reply to: