From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fXBD1-00065Z-KW for guix-patches@gnu.org; Sun, 24 Jun 2018 16:02:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fXBD0-0003qn-Ga for guix-patches@gnu.org; Sun, 24 Jun 2018 16:02:03 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:54444) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fXBD0-0003qh-DG for guix-patches@gnu.org; Sun, 24 Jun 2018 16:02:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fXBD0-0006El-0o for guix-patches@gnu.org; Sun, 24 Jun 2018 16:02:02 -0400 Subject: [bug#31952] [PATCH] gnu: git: Update to 2.18.0. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20180623194507.16280-1-mbakke@fastmail.com> <87efgxw4ef.fsf@gnu.org> <876029f4wv.fsf@fastmail.com> Date: Sun, 24 Jun 2018 22:01:20 +0200 In-Reply-To: <876029f4wv.fsf@fastmail.com> (Marius Bakke's message of "Sun, 24 Jun 2018 01:40:16 +0200") Message-ID: <87efgwuf73.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Marius Bakke Cc: 31952@debbugs.gnu.org Hello, Marius Bakke skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Hi Marius! >> >> Marius Bakke 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 she= bangs. >>> + (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 =E2=80=9C^#!=E2=80=9D and make sure = there=E2=80=99s 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 =E2=80=9Cright=E2=80=9D = Bash to the >> front of PATH and then calls the original =E2=80=98patch-shebangs=E2=80= =99 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 =E2=80=9Cbash-for-tests=E2=80=9D to =E2=80=98inputs= =E2=80=99 actually solves the problem (and we don=E2=80=99t have to worry about cross-compilation since = =E2=80=9Cmake check=E2=80=9D does nothing when cross-compiling) and we can keep the =E2=80=98patch-shebangs=E2=80=99 phase. But yeah, if this patch works, we can go for it. Thank you! Ludo=E2=80=99.