mixer-tools
mixer-tools copied to clipboard
Create a force-includes header for manifests
This header should work just like includes, but the client should force that bundle to be tracked. Bundles installed on a regular include shouldn't be tracked.
Example: in Manifest.BundleA:
includes: bundleB
force-includes: bundleC
If you run:
swupd bundle-add bundleA
swupd bundle-remove bundleA
bundleB and bundleC are both still installed in the system, but only bundleC is tracked. In the future we want to have a garbage collector we would remove bundleB, but not bundleC.
What's the use case for this feature? Why would you want a bundle that came in as dependence to remain in the system after the parent bundle is gone?
@rchiossi in Clear Linux today we handle bundle splits by adding an include on the split off bundles since we don't want users to lose features they had from the previous bundle state. I may consider a slight revision to the implementation though in that it would only set the force-includes bundle to be tracked if the bundle that includes it is also tracked though (I was just thinking this and I should probably think about that a little more).
@bryteise Did you revise that? Are we going to need force-includes or did you find another solution?