Files
snapd/daemon
Samuele Pedroni 7f8ba6b57d many: introduce snapstate.PrereqTracker interface and snap.SimplePrereqTracker (#13320)
The idea is to gain more control over how snapstate functions to plan snap operations track prerequisites. So that later we can have an implementation of snapstate.PrereqTracker that supports properly self-contained sets of snaps and can deal with alternative providers for content more in the same way as we do during normal operations. This implementation could then be used first for seeding and then also for remodel, instead of the current code that requires the default-providers to be installed and otherwise errors. The snapstate functions that are getting a PrereqTracker argument added are the one we use in those contexts.

* snap: introduce SimplePrereqTracker

* many: introduce snapstate.PrereqTracker

the idea is for some snapstate operation functions to take a dedicated
implementation to be able to properly deal with prereq checking for
self-contained set of snaps like for first boot/seeding

* many: pass PrereqTracker to Update|Install*WithDeviceContext

* many: pass PrereqTracker to InstallPath

* o/devicetate: next steps TODO for seeding to support alternative providers

* o/devicestate: next steps TODO for remodel to support alternative providers

* snap: for clarity check for some-snap too in TestSimplePrereqTracker

* o/snapstate: rename prereqTrack => addPrereq

the arguments/types should make it clear enough what it is about
but also added an internal doc comment
2023-11-29 10:06:20 +02:00
..
2023-07-20 18:03:32 +02:00
2023-01-23 15:38:45 +01:00
2023-01-16 14:23:11 +01:00
2021-06-03 13:49:26 +02:00
2023-01-06 12:12:43 +01:00
2021-06-03 13:49:26 +02:00
2021-06-03 13:49:26 +02:00
2022-05-20 17:14:19 +01:00
2021-06-03 13:49:26 +02:00
2023-06-29 10:46:17 +01:00