all messages for Guix-related lists mirrored at yhetil.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; 49+ 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] 49+ messages in thread
* bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’
@ 2023-02-27 13:36 Ludovic Courtès
  2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 49+ messages in thread
From: Ludovic Courtès @ 2023-02-27 13:36 UTC (permalink / raw)
  To: 61841

Look at this weird phenomenon.

First, with ‘guix build’, everything works as expected:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 247  Feb 27 2023 08:47:41    (current)
  guix 17bd024
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 17bd0243310754045cdc6cc362c804db4a8f9317
$ guix build ungoo
ungoogled-chromium          ungoogled-chromium-wayland  
$ guix build ungoogled-chromium -n
The following grafts would be made:
   /gnu/store/sb9bva92ycw40jiwvklvdwpr5pqs5y14-ungoogled-chromium-109.0.5414.119-1.drv
   /gnu/store/88bvz2ch3wsiz66qcmhhpbz2i60ms14j-harfbuzz-5.3.1.drv
   /gnu/store/pvrhcbpajl9cf2jjy8p01p5fh6kjf3fi-pipewire-0.3.63.drv
   /gnu/store/mjm6k8l2d0j1j3j3p7rqrrrj2pla4cwa-jack2-1.9.21.drv
$ guix build ungoogled-chromium -n --no-grafts
/gnu/store/p984s3dna89qw3j1s9w1jpz3wjw1jmfg-ungoogled-chromium-109.0.5414.119-1
$ guix build ungoogled-chromium -n --no-grafts -d
/gnu/store/i8f4qri399l1r2k7hrwpdxxgc3q77izw-ungoogled-chromium-109.0.5414.119-1.drv
--8<---------------cut here---------------end--------------->8---

But now ‘guix shell’ (same revision) wants to build ungoogled-chromium:

--8<---------------cut here---------------start------------->8---
$ guix shell ungoogled-chromium -n
The following derivations would be built:
  /gnu/store/6kgc8cd8wn010ba3jnywj2qsjsjk511s-ungoogled-chromium-109.0.5414.119-1.drv
  /gnu/store/xfiqj5qnnld9g8hdh879aa7gp7wprhaf-chromium-109.0.5414.119.tar.xz.drv
  /gnu/store/4ic70ax830gng6fbaqk3mf3rf2x6vf1j-jsoncpp.patch.drv
  /gnu/store/9sbl6km93sgb7wc2b14sc1fgf7alsb79-openjpeg.patch.drv
  /gnu/store/jcx82l35b070dz91aiz6gffgkngcf1gl-zlib.patch.drv

1,930.3 MB would be downloaded
$ guix shell ungoogled-chromium -n --no-grafts
The following derivations would be built:
  /gnu/store/mpfvrssy125chnxsy4qg61kk1a2s235d-profile.drv
  /gnu/store/kyncllwl57l2pk63rc154zdfmbx8759v-ungoogled-chromium-109.0.5414.119-1.drv
  /gnu/store/xfiqj5qnnld9g8hdh879aa7gp7wprhaf-chromium-109.0.5414.119.tar.xz.drv
  /gnu/store/4ic70ax830gng6fbaqk3mf3rf2x6vf1j-jsoncpp.patch.drv
  /gnu/store/9sbl6km93sgb7wc2b14sc1fgf7alsb79-openjpeg.patch.drv
  /gnu/store/jcx82l35b070dz91aiz6gffgkngcf1gl-zlib.patch.drv

1,930.3 MB would be downloaded
--8<---------------cut here---------------end--------------->8---

Why does ‘guix shell’ want to build a different derivation for the same
package?

The derivation ‘guix shell’ computed depends on different *.patch.drv,
compared to the “right” one:

--8<---------------cut here---------------start------------->8---
$ guix gc -R $(guix build ungoogled-chromium -d --no-grafts) |grep -E '(jsoncpp|openjpeg|zlib)\.patch\.drv'
/gnu/store/ysmmqzva7j49x7sswr5kdgdj59dsh8ip-zlib.patch.drv
/gnu/store/iamxhd6d0jqvmjfh458qwhm62bq2adb7-jsoncpp.patch.drv
/gnu/store/03hqmvhl97b8pxrcqahc9xk1bil2pbs3-openjpeg.patch.drv
--8<---------------cut here---------------end--------------->8---

To be continued…

Ludo’.




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

end of thread, other threads:[~2023-03-17 16:17 UTC | newest]

Thread overview: 49+ 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-27 15:10               ` bug#61841: bug#61255: [PATCH 0/5] Add support for the RPM format to "guix pack" Ludovic Courtès
2023-02-27 16:41                 ` Maxim Cournoyer
2023-02-27 21:08                   ` bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
2023-02-28  2:25                     ` 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-23 22:20           ` Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") Maxim Cournoyer
2023-02-27 19:14             ` Efraim Flashner
2023-03-01 15:17               ` Feedback on indentation rules Maxim Cournoyer
2023-03-06 16:56                 ` Ludovic Courtès
2023-03-07 13:46                   ` Simon Tournier
2023-03-07 16:54                     ` Maxim Cournoyer
2023-03-07 17:29                       ` Simon Tournier
2023-03-09 13:55                         ` Maxim Cournoyer
2023-03-15 16:15                     ` Ludovic Courtès
2023-03-17 16:16                       ` Maxim Cournoyer
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)
  -- strict thread matches above, loose matches on Subject: below --
2023-02-27 13:36 bug#61841: ‘guix shell’ computes different package derivation than ‘guix build’ Ludovic Courtès
2023-03-01  9:05 ` Josselin Poiret via Bug reports for GNU Guix
2023-03-01 21:34   ` Ludovic Courtès
2023-03-02  9:23     ` Josselin Poiret via Bug reports for GNU Guix

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.