treewide: drop use of which

Ubuntu started to flag which as deprecated and it
seems which is not really standard and may vary
across Distro.
Drop the use of which and use the standard 'command -v'
for this simple task.
Which is still present in the prereq if some package/script
still use which.
A utility script called command_all.sh is implemented that
will just mimic the output of which -a.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
This commit is contained in:
Ansuel Smith
2021-11-25 02:12:58 +01:00
committed by Paul Spooren
parent 87d489f67a
commit 88204bfa82
9 changed files with 20 additions and 11 deletions

11
scripts/command_all.sh Executable file
View File

@@ -0,0 +1,11 @@
#! /bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Reduced version of which -a using command utility
case $PATH in
(*[!:]:) PATH="$PATH:" ;;
esac
for ELEMENT in $(echo $PATH | tr ":" "\n"); do
PATH=$ELEMENT command -v "$@"
done

View File

@@ -54,10 +54,8 @@ sub localmirrors {
sub which($) {
my $prog = shift;
my $res = `which $prog`;
my $res = `command -v $prog`;
$res or return undef;
$res =~ /^no / and return undef;
$res =~ /not found/ and return undef;
return $res;
}

View File

@@ -14,7 +14,7 @@ chdir $ENV{TOPDIR};
$ENV{GIT_CONFIG_PARAMETERS}="'core.autocrlf=false'";
$ENV{GREP_OPTIONS}="";
my $mk=`which gmake 2>/dev/null`; # select the right 'make' program
my $mk=`command -v gmake 2>/dev/null`; # select the right 'make' program
chomp($mk); # trim trailing newline
$mk or $mk = "make"; # default to 'make'

View File

@@ -134,7 +134,7 @@ if [ ! -r "$rootfs" -a ! -r "$kernel" -a ! "$outfile" ]; then
exit 1
fi
ubinize="$( which ubinize )"
ubinize="$( command -v ubinize )"
if [ ! -x "$ubinize" ]; then
echo "ubinize tool not found or not usable"
exit 1