unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack"
@ 2023-02-03 16:19 Maxim Cournoyer
  2023-02-03 22:14 ` [bug#61255] [PATCH 1/5] pack: Extract keyword-ref procedure from debian-archive Maxim Cournoyer
  2023-02-17  1:49 ` [bug#61255] [PATCH v2 0/8] " Maxim Cournoyer
  0 siblings, 2 replies; 31+ messages in thread
From: Maxim Cournoyer @ 2023-02-03 16:19 UTC (permalink / raw)
  To: 61255; +Cc: Maxim Cournoyer

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





^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2023-02-24  2:39 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-03 16:19 [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Maxim Cournoyer
2023-02-03 22:14 ` [bug#61255] [PATCH 1/5] pack: Extract keyword-ref procedure from debian-archive Maxim Cournoyer
2023-02-03 22:14   ` [bug#61255] [PATCH 2/5] gexp: computed-file: Honor %guile-for-build Maxim Cournoyer
2023-02-04  1:11     ` Ludovic Courtès
2023-02-04  3:43       ` Maxim Cournoyer
2023-02-12 18:14         ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 15:12           ` Maxim Cournoyer
2023-02-23 15:44             ` [bug#61255] (%guile-for-build) default in ‘computed-file’ Ludovic Courtès
2023-02-24  2:38               ` Maxim Cournoyer
2023-02-03 22:14   ` [bug#61255] [PATCH 3/5] pack: Extract populate-profile-root from self-contained-tarball/builder Maxim Cournoyer
2023-02-03 22:14   ` [bug#61255] [PATCH 4/5] tests: pack: Fix indentation Maxim Cournoyer
2023-02-12 18:20     ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 15:22       ` Maxim Cournoyer
2023-02-23 15:47         ` Ludovic Courtès
2023-02-03 22:14   ` [bug#61255] [PATCH 5/5] pack: Add RPM format Maxim Cournoyer
2023-02-12 18:52     ` [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-16 22:17       ` Maxim Cournoyer
2023-02-12 18:57   ` Ludovic Courtès
2023-02-16 15:25     ` Maxim Cournoyer
2023-02-17  1:49 ` [bug#61255] [PATCH v2 0/8] " Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 1/8] .dir-locals: Add let-keywords indentation rules Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 2/8] pack: Use let-keywords instead of keyword-ref Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 3/8] gexp: computed-file: Honor %guile-for-build Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 4/8] pack: Extract populate-profile-root from self-contained-tarball/builder Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 5/8] tests: pack: Fix indentation Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 6/8] pack: Add RPM format Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 7/8] etc: Add a news entry snippet Maxim Cournoyer
2023-02-17  1:49   ` [bug#61255] [PATCH v2 8/8] news: Add entry for the new 'rpm' guix pack format Maxim Cournoyer
2023-02-17  6:34     ` Julien Lepiller
2023-02-17 17:32       ` Maxim Cournoyer
2023-02-17 15:12     ` pelzflorian (Florian Pelz)

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).