Hi Ludo, On Thu, 11 Feb 2021 at 00:01, Ludovic Courtès <l...@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