Use triggers when calling update-initramfs in postinst and postrm
authorChris Lamb <chris@chris-lamb.co.uk>
Tue, 15 Apr 2008 17:59:26 +0000 (18:59 +0100)
committerChris Lamb <chris@chris-lamb.co.uk>
Tue, 15 Apr 2008 17:59:26 +0000 (18:59 +0100)
commita0e75528542d35969b4bccc200ec705a50b569e1
tree9dc73e0da6992f2f4188cf72a2c6d29623502f83
parent949eb8c66baddef83378dd677c10b02c3f23ca36
Use triggers when calling update-initramfs in postinst and postrm

One complication with the interaction between live-initramfs and
update-initramfs is completeness - in a normal Debian system, we do not
mind that not all the initrds are updated, so one would simply call
"update-initramfs -u" when upgrading (for example) mdadm.

However, live-initramfs needs to update *all* initrds (ie. '-u -k all'),
but calling this would not use the trigger functionality as
'update-initramfs' will only accept triggering with a single '-u' argument.
This is sensible behaviour, as the trigger callback cannot (and shouldn't)
be parameterised. The result is this is that we must detect how many kernel
flavours we have and revert to the non-triggered call ('-u -k all') if we
have more than one.

My tests show that this is behaviour is sound, even in the slightly
contrived example of updating live-initramfs whilst installing a second
kernel, regardless of the interleaving of the calls to postinst.

We additionally attempt the same logic in the postrm so that upgrading
live-initramfs (for example, in chroot_local-packages) does not result in
two calls expensive calls in update-initramfs.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
debian/postinst
debian/postrm
debian/triggers [new file with mode: 0644]