[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#74015: 'guix shell --export-manifest' fails for some transformations
From: |
Simon Tournier |
Subject: |
bug#74015: 'guix shell --export-manifest' fails for some transformations |
Date: |
Sun, 10 Nov 2024 14:06:16 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
On Sun, 10 Nov 2024 at 12:38, Ludovic Courtès <ludo@gnu.org> wrote:
>> $ guix shell -m manifest.scm --export-manifest
>
> ‘--export-manifest’ is meant to “translate” a command line, which it can
> do faithfully; there’s no way it could possibly “recreate” what
> ‘manifest.scm’, which may contain arbitrary Scheme code (and someone who
> already has a ‘manifest.scm’ file probably doesn’t need
> ‘--export-manifest’).
Yes, one might need. :-)
As I explained: « That’s annoying in some context as “guix pack
--save-provenance” [1]. Even, it defeats the idea of a self-contained
reproducible binary container. »
For sure, I understand it’s hard to capture this kind of transformation.
Still, an improvement appears to me possible (see below).
1: https://hpc.guix.info/blog/2021/10/when-docker-images-become-fixed-point
> It’s necessarily a lossy process.
This is where I disagree. :-) I mean, yes I agree that building
profile/manifest is somehow a lossy process because some Scheme is
potentially evaluated on the road. However, I am proposing: Aside the
profile ’manifest’ file (lossy process), we could store all the
manifests provided by the command line. Something as:
/gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest
/gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest.orig1
/gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest.orig2
…
where manifest.orig1 and manifest.orig2 are the copy of files ’foo.scm’
and ’bar.scm’ from:
-m foo.scm -m bar.scm
This way, the option --export-manifest could be improved, eventually.
In other word, I think that saving as-is the manifests costs almost
nothing and it paves the way to more robust self-contained binary packs.
Well, maybe this extra work could be only done when there is an option
’--save-provenance’ applied.
> I would close it as not-a-bug; WDYT?
I still think it’s a feature that it’s possible to improve.
Cheers,
simon