Krzysztof Kozlowski wrote on Wed, Dec 09, 2020: > > Hm, what version of env is that? > > I only checked on a couple of systems that env -S exists, but it might > > not be available (e.g. now I'm looking, at least busybox env does not > > provide -S) > > $ env --version > env (GNU coreutils) 8.25 Ok, so this is a much newer option than I thought it was, sorry for my lack of checking. I know we no longer support older gccs but it's probably best to keep supporting this. > > I don't see any way to make this work out of the box for me (awk not in > > /usr/bin) and you (env not supporting -S), but I guess I can keep that > > patch around locally... > > You could add a wrapper which uses PATH or searches for the awk... > kind of reimplement other tools. Another solution is to clearly > document the requirements for the build system and explicitly say that > older systems like four-year Ubuntu are not supported. Well there definitely are ways, but I'm not sure it's worth it... For example another idea is just to use /bin/sh (which is mandated to exist) and have it invoke awk, the script is short enough to just quote it. Yamada-san, how about this instead? But to be honest I'm fine with dropping my patch altogether, I'll work around it locally if it's too much. --- >From d53ef3b4c55aa2ea5f9ae887b3e1ace368f30f66 Mon Sep 17 00:00:00 2001 From: Dominique Martinet <asmadeus@xxxxxxxxxxxxx> Date: Wed, 15 Jul 2020 16:00:13 +0200 Subject: [PATCH] ld-version: use /bin/sh then awk for shebank /usr/bin/awk is not garanteed to exist (and doesn't on e.g. nixos), using /bin/sh and invoking awk to have it look in PATH is more robust. Signed-off-by: Dominique Martinet <asmadeus@xxxxxxxxxxxxx> diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh index f2be0ff9a738..02dbad7b5613 100755 --- a/scripts/ld-version.sh +++ b/scripts/ld-version.sh @@ -1,11 +1,11 @@ -#!/usr/bin/awk -f +#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # extract linker version number from stdin and turn into single number - { +awk '{ gsub(".*\\)", ""); gsub(".*version ", ""); gsub("-.*", ""); split($1,a, "."); print a[1]*100000000 + a[2]*1000000 + a[3]*10000; exit - } +}'