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

Bug#447611: [PATCH] updated patch



tag 447611 patch
thanks

The attached patch is against current git, and has been tested with
the trigger-enabled dpkg in experimental. This patch is ready to be
applied immediately.

-- 
see shy jo
From c4a58806cb810a54cfe2b0b85c7e59d7dfd34220 Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@kodama.kitenet.net>
Date: Tue, 1 Apr 2008 18:14:57 -0400
Subject: [PATCH] use dpkg-trigger

This is a lightly modified version of Ian Jackson's original patch,
incorporating maximilian attems's comments.

dh_installdeb automatically installs the triggers file, so the rules file
does not need to be changed.
---
 debian/initramfs-tools.postinst |   11 +++++++++--
 update-initramfs                |   13 +++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/debian/initramfs-tools.postinst b/debian/initramfs-tools.postinst
index 2f36f3f..6ecfe2e 100644
--- a/debian/initramfs-tools.postinst
+++ b/debian/initramfs-tools.postinst
@@ -6,9 +6,16 @@ if [ ! -e /etc/initramfs-tools/modules ]; then
 	cp /usr/share/initramfs-tools/modules /etc/initramfs-tools/
 fi
 
-# Regenerate initramfs on upgrade
-if [ "$1" = "configure" ] && [ -n "$2" ]; then
+# Regenerate initramfs whenever we go to dpkg state `installed'
+
+if [ "x$1" != xtriggered ] && \
+   dpkg --compare-versions "$DPKG_RUNNING_VERSION" ge '1.14.5ubuntu10~~'
+then
+	# this activates the trigger, if triggers are working
 	update-initramfs -u
+else
+	# force it to actually happen
+	DPKG_MAINTSCRIPT_PACKAGE='' update-initramfs -u
 fi
 
 #DEBHELPER#
diff --git a/update-initramfs b/update-initramfs
index 42f2831..7bb7319 100755
--- a/update-initramfs
+++ b/update-initramfs
@@ -4,6 +4,7 @@ STATEDIR=/var/lib/initramfs-tools
 BOOTDIR=/boot
 CONF=/etc/initramfs-tools/update-initramfs.conf
 KPKGCONF=/etc/kernel-img.conf
+USETRIGGERS=true
 mode=""
 version=""
 
@@ -11,6 +12,18 @@ set -e
 
 [ -r ${CONF} ] && . ${CONF}
 
+if	   $USETRIGGERS						\
+	&& [ x"$DPKG_MAINTSCRIPT_PACKAGE" != x ]		\
+	&& [ $# = 1 ]	 					\
+	&& [ x"$1" = x-u ]					\
+	&& dpkg-trigger --check-supported 2>/dev/null
+then
+	if dpkg-trigger --no-await update-initramfs; then
+		echo "update-initramfs: deferring update (trigger activated)"
+		exit 0
+	fi	
+fi
+
 usage()
 {
 	if [ -n "${1}" ]; then
-- 
1.5.4.4

Attachment: signature.asc
Description: Digital signature


Reply to: