Currently, we have the need to add references to release artifacts to releases, both for firmware as well as for Flatpaks and other bundled application which need to make the source code location they were building from known for the current release.
Traditionally, we had the location tag for that, which was only ever used by firmware type components and was accompanied by the checksum tags to denote the release checksums for the given release artifact.
When having source tarballs in there as well and potentially more and different release artifacts, the current approach will not work anymore.
(Ab)using the <url/> tag for this purpose is not a good idea, as the url tag points to human-readable webpages in its current context, and not to immediately downloadable artifacts. We also can not easily add checksums to this tag.
Currently, we have the need to add references to release artifacts to releases, both for firmware as well as for Flatpaks and other bundled application which need to make the source code location they were building from known for the current release.
Traditionally, we had the
locationtag for that, which was only ever used byfirmwaretype components and was accompanied by thechecksumtags to denote the release checksums for the given release artifact.When having source tarballs in there as well and potentially more and different release artifacts, the current approach will not work anymore.
(Ab)using the
<url/>tag for this purpose is not a good idea, as the url tag points to human-readable webpages in its current context, and not to immediately downloadable artifacts. We also can not easily add checksums to this tag.So, I propose the
artifactstag as child of the<release/>tag. This mechanism will displace the currentlocationandchecksumtags as briefly described in https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Firmware.html#tag-firmware-releases (of course with a very, very long backwards compatibility phase).This is the proposed layout:
Constrains:
locationchildsourceorbinaryare allowed)platformproperty is optionalchecksumchildrenartifactstag itself is an optional tag in areleasegroup.locationtag must point to a direct download location (not some website) of a tarballplatformproperty ofartifactmust be a platform triplet for Linux/*BSDTo think about:
typeto denote whether the downloaded artifact is an appimage/snap/tarball/etc.? (This would cover things discussed in Add release download URLs to metainfo files? #154 as well)The text was updated successfully, but these errors were encountered: