#862139 [flash-kernel] Please, stop flashing multiple times

#862139#5
Date:
2017-05-08 21:20:11 UTC
From:
To:
Package: flash-kernel
Version: 3.35+deb8u3
Severity: normal

I just updated my server (only a few packages) and the initramfs
and kernel were flashed THREE times!
  First for the new version of udev (I guess). The trigger is
deferred but immediately executed. Thus flashing outdated data
(kernel being updated afterward).
  Next for the new version of initramfs-tools.
  Then for the new version of the kernel. Both triggers are
deferred and executed one after the other, uselessly because
they flash the exact same files.

I fail to see the advantage of a trigger when it’s activated
right away or twice for the same job.

You can see aptitude’s output (in French, but you should get the
gist of it) in the attached file.

Sincerely,

#862139#10
Date:
2017-08-19 05:59:56 UTC
From:
To:
As far as I can tell from the changelog of 3.35+deb8u3,
none of the changes done to the jessie branch relates to
this problem, so it seem appropriate to set the version
to the common anchestor of the all branches.

#862139#17
Date:
2021-02-07 04:03:56 UTC
From:
To:
...

This is almost certainly because flash-kernel has hooks in both the
kernel and initramfs:

  /etc/kernel/postinst.d/zz-flash-kernel
  /etc/kernel/postrm.d/zz-flash-kernel
  /etc/initramfs/post-update.d/flash-kernel

I don't see a great way around this, as flash-kernel needs to be updated
when either gets updated, and they may often happen at the same
time. The triggers do at least prevent it from getting updated every
time a relevent package gets updated, even it if still happens multiple
times in any given run...


That said, someone with a better understanding of dpkg triggers might be
able to come up with something better...


live well,
  vagrant

#862139#22
Date:
2021-02-07 10:25:56 UTC
From:
To:
Le dimanche 7 février 2021, 05:03:56 CET Vagrant Cascadian a écrit :
1. Both changing the kernel and changing the initramfs trigger the
  flashing (which is okay) but the deferred trigger should be executed
  only once, which it’s not.
  (I’m not sure anymore that was the case, that was 4 years ago.  I
   guess not as I’m talking about “flashing three times.”)

2. As (badly) shown on the excerpt the files are flashed both just when
  the package is installed (immediate) and when the whole update is
  finished (deferred).