Subject: Re: [PATCH] gnu: %bootstrap-coreutils&co: Patch egrep/fgrep to point to the correct grep.

From: Efraim Flashner <[email-masked]>
Date: Sat, 25 Feb 2017 18:58:51 +0000

On February 23, 2017 1:41:18 PM GMT+02:00, [email-masked] wrote:
>
>Hello everyone, 
>
>Commit 653add37af10b0d5dbc20c8bc7ce30eec8cf4ae7 patches egrep/fgrep to
>point to the location of grep. 
>But the problem is that when it was run on Hurd, the path for grep in
>egrep/fgrep had this form: 
>/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-grep-2.25/bin/grep
>
>The above was not being substituted and caused the build to fail. So I
>changed the pattern to 
>"/[^ ]+/bin/grep" and now the path is always replaced. 
>

I also pushed a patch that patched the generated [e|f]grep to not have the path inserted into it, so the aarch64 bootstrap binaries have:
#!/bin/sh
exec grep -F...
I think we're going to have to find a way that works for both architectures. I tried using (%current-target) but I couldn't get it to work inside the snippet.

>Also (getcwd) returns the current path which the build takes place.
>This happens to be /tmp/guix-build-..-bootstrap-binaries-0.
>This is wrong because it should point to the final place in /gnu/store.
>That why I am using "out".

While that is probably better, in the end it doesn't really matter I believe, when I ran 'find /gnu -name fgrep -execdir cat {} +' it showed both bash and grep pointing to the bootstrap binaries.

>Thank you,
>Manolis

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.