guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unexpected --export-manifest with simple transformations


From: zimoun
Subject: Re: Unexpected --export-manifest with simple transformations
Date: Thu, 11 Feb 2021 06:33:45 +0100

Hi Ludo,

On Thu, 11 Feb 2021 at 00:01, Ludovic Courtès <ludo@gnu.org> wrote:

> That’s because when using ‘-m’, transformations are not recorded.

Yes.  The question is: is it a conscientious choice or a missing
feature?


It makes sense to save the transformations from a manifest, IMHO.  But
it is not clear what should be the good solution for that because it is
not easy for the general case; from my understanding.

For instance, one could easily imagine this (restricted) typical
manifest with transformation,

--8<---------------cut here---------------start------------->8---
(use-modules (guix transformations))

(define transform1
  (options->transformation
    '((with-c-toolchain . "hello=gcc-toolchain@10"))))

(packages->manifest
  (list (transform1 (specification->package "hello"))
        (specification->package "python-numpy")
        (specification->package "python")))
--8<---------------cut here---------------end--------------->8---

should record the transformation in <profile>/manifest.  Motivated by
1. consistency with the «equivalent» command-line and 2. the use-case
“guix pack -f docker --save-provenance -m’.

Other said, the option ’-m + --export-manifest’ should be a fixed-point,
IMHO. 

For example, ’package->manifest-entry*’ is "Like
'package->manifest-entry', but attach PACKAGE provenance meta-data to
the resulting manifest entry."  (I have not tried.)  Therefore, we could
have something similar with ’options->transform’, i.e., attach somehow
meta-data.

Well, because the feature is missing, the story about #2 is incomplete.
And I would like to have a self-reproducible Docker image produced by
‘guix pack’.

This “missing feature“, is it a conscientious choice or an use-case not
thought yet?


WDYT?


Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]