[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31952] [PATCH] gnu: git: Update to 2.18.0.
From: |
Marius Bakke |
Subject: |
[bug#31952] [PATCH] gnu: git: Update to 2.18.0. |
Date: |
Sun, 24 Jun 2018 01:40:16 +0200 |
User-agent: |
Notmuch/0.27 (https://notmuchmail.org) Emacs/26.1 (x86_64-pc-linux-gnu) |
address@hidden (Ludovic Courtès) writes:
> Hi Marius!
>
> Marius Bakke <address@hidden> skribis:
>
>> * gnu/packages/version-control.scm (git): Update to 2.18.0.
>> [native-inputs]: Add BASH.
>> [arguments]: In #:make-flags, define SHELL_PATH and TEST_SHELL_PATH.
>> Add #:disallowed-references. Drop /bin/sh substitution from Makefile. Add
>> phase to prevent BASH from ending up in PATH. Delete 'patch-shebangs' phase.
>
> [...]
>
>> + ;; FIXME: This phase picks up the wrong bash when patching shebangs.
>> + (delete 'patch-shebangs)
>
> Do the installed scripts still have the right shebang in spite of this?
I haven't yet compared the results with and without this phase, but
"normal" usage (including "send-email") works at least.
> Removing this phase altogether sounds a bit risky. Another option would
> have been to replace it with one that moves the “right” Bash to the
> front of PATH and then calls the original ‘patch-shebangs’ phase.
The problem is that 'patch-shebangs' does not use PATH, but instead
iterates over inputs directly. It's supposed to prefer 'inputs' to
'native-inputs' (according to a comment), yet in this case it picks the
native "full" bash rather than bash-minimal.
If you read closely, you'll notice that 'bash-for-tests' is not in PATH
at all. 'patch-source-shebangs' and other things that use (which "sh")
works okay due to that.
I suppose we can replace the phase with a fixed version, but I'm not
sure why (@@ (guix build gnu-build-system) patch-shebangs) does the
wrong thing.
Another alternative is to delete the one test (t/t9902-completion.sh)
that requires the full bash until we have a proper fix.
Thoughts?
signature.asc
Description: PGP signature