abrt/faf

Expose stored RPMs in lobs for debuginfod

Closed this issue · 4 comments

It would be nice to be able to host debuginfod on retrace server.
https://sourceware.org/elfutils/Debuginfod.html
for that debuginfod needs flat directory structure and files with suffix *rpm.
However, we store the files like /srv/faf/lob/Package/package/00/00/1

It would be nice if we can make /srv/faf/package-name/ which will contains symlinks to lobs. E.g., Coin4-debuginfo-4.0.0-2.fc31-> /srv/faf/lob/Package/package/00/00/1

That way we can run debuginfod in /srv/faf/package-name/

fche commented

BTW, a directory structure that mirrors the semantics of the upstream repo is even better than "flat" -- namely, keeping architectures separate, keeping subrpms of the same n-v-r closer together than other n-v-r's. That's because debuginfod uses pathname match-length heuristics to break ties when matching up source files with their dwarf binaries.

Also, would you consider renaming this issue to being more specific for rpm repository sharing, something like "debuginfod archive-side integration: rpm repository naming conventions" ? That's as distinct from debuginfod-client extensions for abrt-faf.

I suppose this is moot now since we'll be using the debuginfod.fp.org instance.

fche commented

(For what it's worth, we've recently discovered that debuginfod can in fact accept RPMs without the ".rpm" suffix, with a cunning command line invocation.)

debuginfod -Z=cat /path/to/files