GNU bug report logs - #61255
[PATCH 0/5] Add support for the RPM format to "guix pack"

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Fri, 3 Feb 2023 16:20:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 61255 <at> debbugs.gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, Tobias Geerinckx-Rice <me <at> tobias.gr>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, Simon Tournier <zimon.toutoune <at> gmail.com>, Mathieu Othacehe <othacehe <at> gnu.org>, ludo <at> gnu.org, Christopher Baines <mail <at> cbaines.net>, Julien Lepiller <julien <at> lepiller.eu>, Florian Pelz <pelzflorian <at> pelzflorian.de>, Ricardo Wurmus <rekado <at> elephly.net>, Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Subject: [bug#61255] [PATCH v2 0/8] Add support for the RPM format to "guix pack"
Date: Fri, 17 Feb 2023 02:49:29 +0100
Hello,

I've addressed most of Ludovic's comments in this v2 rework (thanks!).  Below
is the original cover letter.

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!

Changes in v2:
- New commit
- Use let-keywords instead of custom keyword-ref
- Better make use of the new indentation rule
- Use let-keywords instead of custom keyword-ref
- Adjust commentary block in (guix rpm)
- Adjust long define indentation in (guix scripts pack)
- Separate guix pack / rpm --install example blocks
- New commit
- New commit

Maxim Cournoyer (8):
  .dir-locals: Add let-keywords indentation rules.
  pack: Use let-keywords instead of keyword-ref.
  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.
  etc: Add a news entry snippet.
  news: Add entry for the new 'rpm' guix pack format.

 .dir-locals.el                               |   3 +
 Makefile.am                                  |   2 +
 doc/guix.texi                                |  48 +-
 etc/news.scm                                 |  17 +-
 etc/snippets/yas/scheme-mode/guix-news-entry |   9 +
 guix/gexp.scm                                |   6 +-
 guix/rpm.scm                                 | 623 +++++++++++++++++++
 guix/scripts/pack.scm                        | 555 ++++++++++++-----
 tests/pack.scm                               | 336 +++++-----
 tests/rpm.scm                                |  86 +++
 10 files changed, 1379 insertions(+), 306 deletions(-)
 create mode 100644 etc/snippets/yas/scheme-mode/guix-news-entry
 create mode 100644 guix/rpm.scm
 create mode 100644 tests/rpm.scm


base-commit: c1303a914c172dc80166be22389e7032c5ea5e09
-- 
2.39.1





This bug report was last modified 2 years and 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.