[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: |
Tue, 24 Mar 2020 18:51:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Ping! :-)
Ludovic Courtès <address@hidden> skribis:
> 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’.