[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31952] [PATCH] gnu: git: Update to 2.18.0.
From: |
Ludovic Courtès |
Subject: |
[bug#31952] [PATCH] gnu: git: Update to 2.18.0. |
Date: |
Sun, 24 Jun 2018 22:01:20 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello,
Marius Bakke <address@hidden> skribis:
> 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.
OK. I suppose you can simply grep for “^#!” and make sure there’s
nothing suspicious like /usr/bin/something.
>> 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.
OK.
> 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.
It may be that moving “bash-for-tests” to ‘inputs’ actually solves the
problem (and we don’t have to worry about cross-compilation since “make
check” does nothing when cross-compiling) and we can keep the
‘patch-shebangs’ phase.
But yeah, if this patch works, we can go for it.
Thank you!
Ludo’.