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