From: Dominique Martinet > Sent: 09 December 2020 17:43 > > I've suggested either just reverting this (I'll keep my local > workaround) or going through /bin/sh which is always safe like the > following patch -- leaving this to maintainers. > > Thanks! > ----- > 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 > - } > +}' Why bother with awk? I think you can do it all in a shell function. Something like: read line line=${line##*)} line=${line##*version } IFS='.-' set $line echo $(($1*100000000 + $2*1000000 + $3*10000)) That will work on any recent shell. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)