Bug 9493

Summary: Support dummy/empty bundles
Product: [Build System, Metadata & Runtime] Other YP Layers Reporter: Joshua Lock <joshuagloe>
Component: meta-swupdAssignee: Joshua Lock <joshuagloe>
Status: RESOLVED FIXED QA Contact: Libertad <libertad.gonzalez.de.la.cruz>
Severity: enhancement    
Priority: Medium+ CC: igor.stoppa, jose.perez.carranza
Version: 2.2   
Target Milestone: 2.2 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)

Description Joshua Lock 2016-04-20 10:41:51 UTC
swupd-client doesn't support bundles being removed from the server.

We need to support dummy bundles in meta-swupd which allow swupd-server to generate appropriate manifest information such that a client still sees the bundle.
Comment 1 Igor Stoppa 2016-05-11 11:43:33 UTC
This seems more like a feature request for swupd: if a bundle is removed from the next version, require confirmation that it's ok to remove it also from the device.

This approach is a bit strict, but it should ensure that there are no chances of incompatible sw left on the device.
Comment 2 Joshua Lock 2016-05-11 18:51:23 UTC
(In reply to comment #1)
> This seems more like a feature request for swupd: if a bundle is removed
> from the next version, require confirmation that it's ok to remove it also
> from the device.
> 
> This approach is a bit strict, but it should ensure that there are no
> chances of incompatible sw left on the device.

I need to sync with the swupd developers on this, I seem to recall learning through the grapevine that it is an intended design decision that swupd-client doesn't support a bundle manifest no longer existing. IIRC this is because if the manifest file isn't present it's hard to know whether this was intentional or due to some other error, whereas it's more likely that an *empty* (and therefore small footprint) manifest is intentional and signifies the bundle (and any contents not being provided by other bundles) should be removed.

It's fairly trivial to support 'retiring' bundles in meta-swupd; my current implementation requires they be listed in a separate variable so that the action is very explicit on the OS builders part.
Comment 3 Joshua Lock 2016-06-01 16:42:07 UTC
Merged to meta-swupd master:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-swupd/commit/?id=28bca32d384c2286a3efa4458f4c14fed40aca7b

This was implemented as a separate variable as it is expected the latter is more likely to lead to unexpected results due to accidental misconfiguration.

This variable still needs documenting in docs/Guide.md