debuginfod supports a few archive formats. It would be nice to support ostree archive files too. ostree is used by a few
They have the .filez extension and have the following format: (I don't think it is documented, but it is stable and can be seen in the code https://github.com/ostreedev/ostree/blob/main/src/libostree/ostree-core.c#L475)
4 bytes header length (big endian)
4 bytes padding
content (deflate compressed without the zlib header)
So one should be able to read the header length, skip the padding and header and read (and decompress) the contents.
Can you link to an actual ostree archive file we can look at?
Are ostree archives usually assembled from upstream distro binaries, which could already be looked up in a corresponding debuginfod?
(In reply to Frank Ch. Eigler from comment #1)
> Can you link to an actual ostree archive file we can look at?
Here is an example: debug info for epiphany
> Are ostree archives usually assembled from upstream distro binaries, which
> could already be looked up in a corresponding debuginfod?
It depends, in the case of Fedora Silverblue or EndlessOS they're generated from the .rpm/.deb packages. But sometimes they're not. The main case where ostree is the original format is for flatpak apps (although there are OSes that generate ostree directly, for instance the GNOME OS testing images).
Created attachment 13450 [details]
The example file
Created attachment 13451 [details]
The decompressed file
By the way, debuginfod's knowledge of archives is practically entirely based on that of libarchive (= bsdtar). Have you considered reaching out upstream, to have them learn to recognize these '.filez' directly? Then no code changes would be needed for debuginfod.
Also: where would debuginfod find dwarf/source content for files packaged in these archives? Is there a -debuginfod.filez type of archive that's also available somewhere?