GNU bug report logs -
#39807
[PATCH] guix: pack: Only wrap executable files.
Previous Next
Reported by: Eric Bavier <bavier <at> posteo.net>
Date: Thu, 27 Feb 2020 04:55:02 UTC
Severity: normal
Tags: patch
Done: Eric Bavier <bavier <at> posteo.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi,
Eric Bavier <bavier <at> posteo.net> skribis:
> From: Eric Bavier <bavier <at> member.fsf.org>
>
> 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’.
This bug report was last modified 4 years and 207 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.