On Fri, Oct 14, 2022 at 10:52:01AM +0200, Santiago Ruano Rincón wrote:
5. transitional packages along with a helper package (that fails or
success during install) to prompt the user so they add non-free-firmware
section when needed.
Is there any reason why you are not considering 5.?
The danger we're trying to avoid is that a system with a working
"something" (say, networking) gets upgraded, user reboots (or machine
crashes, or there's a power failure, etc, etc.), the working "something"
is now a not-working "something", and fixing it is really hard for the
user who has no idea what happened and maybe doesn't have a network or a
console or whatever any more. A package that fails during install will
prevent the upgrade from completing, but will leave things in an
in-between state until some action is taken, the upgrade restarted, and
the upgrade manages to finish successfully. What happens if the
reboot/crash/powercycle/etc happens during that in-between state? How do
you make a firmware helper package that reliably prevents a kernel
installation when the kernel doesn't have any dependencies on the
firmware package, and also doesn't yank out the old working firmware,
etc. I'm sure you can make the install explode, but making it reliably
explode at just the right time seems harder. I guess this could all
work, but I'm seeing a lot of potential for partial installs/failures
with this approach and I suspect this would require transition code in a
number of packages' preinsts, not a discrete "helper package".