mirror of
https://github.com/token2/snapd.git
synced 2026-03-13 11:15:47 -07:00
* many: introduce IsUndo flag in LinkContext Some times LinkSnap is called in an undo task when we want to revert to a previous snap revision. Introduce a flag to make LinkSnap and boot code aware of when this happen, as some of the logic for snap installations should not be applied when doing a revert. Specifically, avoid the "try" logic that applies to kernels and bases: we are reverting to a known snap that is expected to work, and making the current snap the fallback provokes failures as we are removing it (and also probably we are removing it because it has failed). * tests: check that kernel with failing post-refresh is reverted Check that a kernel with failing post-refresh hook is reverted properly. In this case a second reboot to go back to the previous kernel is needed. * tests: check that base with failing post-refresh is reverted Check that a base with failing post-refresh hook is reverted properly. In this case a second reboot to go back to the previous base is needed. * boot,overlord: replace isUndo flags with NextBootContext Replace isUndo flags with the NextBootContext struct, so we have further information in the type and we can add flags in the future. * boot: some style changes as suggested by review * overlord: SetNextBoot call in maybeUndoRemodelBootChanges as undo type * boot: add tests for the IsUndoingInstall true case * overlord: fix remodel test for undos * boot,overlord: implement the undo install for core16/18 * tests: added method to repack kernel snap also for core16/18 * tests: run revert after boot tests for UC16/18 too * tests/nested/core/base-revert-after-boot: fix var usage * tests: consider right channel/snap for uc16 in revert tests * boot: minor stylistic changes * boot: add tests for the undoing install case for core16/18 * boot,overlord: rename IsUndoingInstall to BootWithoutTry * boot: use constant instead of literal for status