diff options
author | Joey Hess <joey@debian.org> | 2008-04-02 15:26:52 -0400 |
---|---|---|
committer | maximilian attems <max@stro.at> | 2008-04-02 21:52:03 +0200 |
commit | 5dfdae9ae274c271943c9bee9ddc3db7fd255695 (patch) | |
tree | 5f212ae947554b64c399a0021e162ffc9bac9cd2 | |
parent | e5f8a9faad64438852a6657ed1afcc0d45f30926 (diff) | |
download | initramfs-tools-5dfdae9ae274c271943c9bee9ddc3db7fd255695.tar.gz initramfs-tools-5dfdae9ae274c271943c9bee9ddc3db7fd255695.zip |
update-initramfs: 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.
-rw-r--r-- | debian/initramfs-tools.postinst | 11 | ||||
-rw-r--r-- | debian/initramfs-tools.triggers | 1 | ||||
-rwxr-xr-x | update-initramfs | 13 |
3 files changed, 23 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/debian/initramfs-tools.triggers b/debian/initramfs-tools.triggers new file mode 100644 index 0000000..860c664 --- /dev/null +++ b/debian/initramfs-tools.triggers @@ -0,0 +1 @@ +interest update-initramfs diff --git a/update-initramfs b/update-initramfs index 42f2831..6e8e7aa 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 |