[AppStream] <filename> in <artifact>
Richard Hughes
hughsient at gmail.com
Tue Apr 27 13:47:50 UTC 2021
Hi all,
I'm using <artifacts><artifact><location> in two ways now:
<location>http://foo.bar/foo.cab</location>
<location>ipfs://486ea4foobarbaz</location>
In the second case, I'm using the optional
<filename>foo.cab</filename> to specify what we should save the file
_as_ -- which so far seems to be completely in accordance with the
specification.
What I'm not sure about is the case where there's one archive that
provides two components. For instance,
foo.cab uploaded to http://foo.bar/foo.cab contains:
bar.metainfo.xml
bar.bin
baz.metainfo.xml
baz.bin
If you open bar.metainfo.xml you'd get
<location>http://foo.bar/foo.cab</location> and
<filename>foo.cab</filename>, and baz.metainfo.xml would have the same
values... leading to me question -- how does the software know that
bar.metainfo.xml is referencing bar.bin?
In the bad old days before I used artifact, I did something like:
<release version="1.2.3">
<location>http://foo.bar/foo.cab</location>
<checksum type="sha256" filename="foo.cab"
target="container">edcba...</checksum>
<checksum type="sha256" filename="bar.bin"
target="content">abcde...</checksum>
<description>
So we could have not only a reference to the upstream place we can
download the file, but we can also reference the exact file in the
archive.
Maybe "the thing we're pointing at inside the archive" isn't an
artifact at all. It certainly doesn't feel quite right. Maybe it _is_
an artifact, but "binary" or "source" doesn't really work in this
context. Maybe "archive" and "target" works? Ideas welcome!
Richard
More information about the AppStream
mailing list