[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#61255] [PATCH v2 0/8] Add support for the RPM format to "guix pack"
From: |
Maxim Cournoyer |
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
- [bug#61255] (%guile-for-build) default in ‘computed-file’, (continued)
- [bug#61255] (%guile-for-build) default in ‘computed-file’, Maxim Cournoyer, 2023/02/23
- [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack", Ludovic Courtès, 2023/02/27
- [bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack", Maxim Cournoyer, 2023/02/27
- [bug#61255] bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’, Ludovic Courtès, 2023/02/27
- [bug#61255] bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’, Maxim Cournoyer, 2023/02/27
[bug#61255] [PATCH 5/5] pack: Add RPM format., Maxim Cournoyer, 2023/02/03
[bug#61255] [PATCH 0/5] Add support for the RPM format to "guix pack", Ludovic Courtès, 2023/02/12
[bug#61255] [PATCH v2 0/8] Add support for the RPM format to "guix pack",
Maxim Cournoyer <=
- [bug#61255] [PATCH v2 1/8] .dir-locals: Add let-keywords indentation rules., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 2/8] pack: Use let-keywords instead of keyword-ref., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 3/8] gexp: computed-file: Honor %guile-for-build., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 6/8] pack: Add RPM format., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 5/8] tests: pack: Fix indentation., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 7/8] etc: Add a news entry snippet., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 4/8] pack: Extract populate-profile-root from self-contained-tarball/builder., Maxim Cournoyer, 2023/02/16
- [bug#61255] [PATCH v2 8/8] news: Add entry for the new 'rpm' guix pack format., Maxim Cournoyer, 2023/02/16