Subject: [PATCH 0/5] Add support for the RPM format to "guix pack"

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 3 Feb 2023 11:19:26 -0500

Hello Guix!

This series adds support for the RPM format to "guix pack", so that one can
generate an RPM archive via e.g. "guix pack -f rpm hello", and install it on
their favorite RPM-based GNU/Linux distribution.  With the exception of the
payload compression, the generation of the archive is fully handled in Scheme,
which ended up being tricky, with the documentation about the RPM binary
format being scarce.  Most of the problems encountered were figured out
stepping an 'rpm' command invocation in GDB, which felt a bit like reverse
engineering!

Anyway, the end result appears to work well and has few dependencies (compared
to using 'rpmbuild', as most other projects do), so I think it was worth the
effort.

Thanks!

Maxim Cournoyer (5):
  pack: Extract keyword-ref procedure from debian-archive.
  gexp: computed-file: Honor %guile-for-build.
  pack: Extract populate-profile-root from
    self-contained-tarball/builder.
  tests: pack: Fix indentation.
  pack: Add RPM format.

 Makefile.am           |   2 +
 doc/guix.texi         |  45 +++-
 guix/gexp.scm         |   3 +-
 guix/rpm.scm          | 577 ++++++++++++++++++++++++++++++++++++++++++
 guix/scripts/pack.scm | 478 +++++++++++++++++++++++++---------
 tests/pack.scm        | 331 ++++++++++++++----------
 tests/rpm.scm         |  86 +++++++
 7 files changed, 1258 insertions(+), 264 deletions(-)
 create mode 100644 guix/rpm.scm
 create mode 100644 tests/rpm.scm

base-commit: a60c750eec73a2030b08b32af3b9f435c7ecca54
-- 
2.39.1