[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