[Rpm-maint] [rpm-software-management/rpm] Reflinkable content format (Discussion #2126)
Panu Matilainen
notifications at github.com
Wed Sep 28 06:43:36 UTC 2022
Couple of remarks based on a quick look:
Breaking the header+payload hashes and signatures is unavoidable, but then those are on their way out anyway. You can't modify the payload digests from the tool, those are signed and modification would break the header signature(s).
The payload digest supports an alternative version though. In vanilla rpm that's calculated based on the uncompressed payload (for the benefit of deltarpm, supposedly), but technically you could make rpm calculate the alt version based on the reflinkable content instead (at extra cost + complexity at build-time of course), in which case this conversion wouldn't break the payload digest.
FWIW, rpm's own Python bindings export the rpmio facilities as a file-like object (rpm.fd) which you could use instead of wrestling with separate libraries for each compression type (`f = rpm.fd(path, 'r', compressor')` where compressor is what you get from RPMTAG_PAYLOADCOMPRESSOR). It also supports transparent iterating over the payload regardless of the format (oldstyle cpio or new, large packages), so you don't need to roll your own.
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/discussions/2126#discussioncomment-3749147
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/repo-discussions/2126/comments/3749147 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20220927/f8bc90b2/attachment.html>
More information about the Rpm-maint
mailing list