[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#39807] [PATCH] guix: pack: Only wrap executable files.
From: |
Ludovic Courtès |
Subject: |
[bug#39807] [PATCH] guix: pack: Only wrap executable files. |
Date: |
Fri, 06 Mar 2020 12:16:32 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi,
Eric Bavier <address@hidden> skribis:
> From: Eric Bavier <address@hidden>
>
> Hello Guix,
>
> This patch fixes some uses of relocatable git (e.g. octopus merge).
> Previously, guix pack would wrap all files in "bin", "sbin", and "libexec",
> even non-executable files. This would cause issues for git when its shell
> scripts in libexec would try to source other shell files that had been
> wrapped and were no longer a valid shell file.
Good catch!
> I feel like a test should be added to tests/guix-pack-relocatable.sh, but
> I'm not sure how to do that while keeping the test lightweight. Suggestions
> welcome.
Not sure how to do that. Since ‘guix pack’ accepts manifests, you could
have a manifest containing a ‘computed-file’ with a file that shouldn’t
be wrapped, and then you could ensure that’s indeed the case. Or you
could try with ‘git-minimal’ or some other package that exhibits the
problem?
> * guix/scripts/pack.scm (wrapped-package)<build>: Build wrappers for
> executable files and symlink others.
[...]
> - (for-each build-wrapper
> - (append (find-files (string-append input "/bin"))
> - (find-files (string-append input "/sbin"))
> - (find-files (string-append input
> "/libexec")))))))
> + (receive (executables others)
I’d prefer srfi-11 ‘let-values’. :-)
Otherwise LGTM, thanks!
Ludo’.
- [bug#39807] [PATCH] guix: pack: Only wrap executable files.,
Ludovic Courtès <=