Implement clears_artifact_provides field in mender-artifact

Description

Acceptance criteria:

  • Add the new field clears_artifact_provides to the type-info section of payloads

  • The key shall accept a list of string values, nothing else

  • When writing rootfs-image artifacts, by default they contain these entries:

    • "rootfs-image.*"

    • "rootfs_image_checksum" (For backwards compatibility reasons, if we had known it advance we would have called it rootfs-image.checksum instead, which would be covered by the previous entry)

    • "artifact_group"

    • If --software-name is given, then only one entry must be included as the default: "rootfs-image.NAME.*". The checksum should be omitted in this case.

    • If --software-filesystem is given, then only FS.* must be included in the default, where FS is the supplied value. The checksum should be omitted in this case.

  • When writing module-image artifacts, by default they contain one single entry:

    • "rootfs-image.MODULE.*", where MODULE is the payload type

    • If --software-name is given, then replace MODULE with the name given

    • If --software-filesystem is given, then replace rootfs-image with the value given

  • There is an option, --clears-provides (no short flag, this is only expected to be used by generator scripts), to add more entries to the list

  • There is an option, --no-default-clears-provides, to prevent the inclusion of the default entries

  • If --no-default-software-version is passed (part of MEN-3076 and MEN-3077), then there also should be no default entries.

  • After assembling all the entries, if the list is empty, it must not be included at all in the Artifact (to enable compatibility with old parsers)

    • This must have a test

  • There must be a private API for the client and for deployments to fetch the field

Feature branch name: feature-partial_updates

Affects versions

None

Environment

None

Checklist

Activity

Show:
Fixed

Details

Assignee

Reporter

Labels

Story Points

Priority

Days in progress

6

Sprint

Backlog

yes

Zendesk Support

Checklist

Created April 28, 2020 at 11:49 AM
Updated June 25, 2024 at 11:55 AM
Resolved October 2, 2020 at 6:02 AM