Bug 9493 - Support dummy/empty bundles
Summary: Support dummy/empty bundles
Status: RESOLVED FIXED
Alias: None
Product: Other YP Layers
Classification: Build System, Metadata & Runtime
Component: meta-swupd (show other bugs)
Version: 2.2
Hardware: x86 Multiple
: Medium+ enhancement
Target Milestone: 2.2 M1
Assignee: Joshua Lock
QA Contact: Libertad
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-04-20 10:41 UTC by Joshua Lock
Modified: 2016-07-15 16:02 UTC (History)
2 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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