[openwrt/openwrt] treewide: replace `which` with `command -v`

LEDE Commits lede-commits at lists.infradead.org
Wed Aug 12 05:08:16 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/1fdf6b745cc3d85be3743837817a360121554134

commit 1fdf6b745cc3d85be3743837817a360121554134
Author: Paul Spooren <mail at aparcar.org>
AuthorDate: Sun Aug 9 15:33:37 2020 -1000

    treewide: replace `which` with `command -v`
    
    Fix shellcheck SC2230
    > which is non-standard. Use builtin 'command -v' instead.
    
    Using `command -v` is POSIX compliant while `which` is not.  Also to
    mention, `command -v` is a shell builtin whereas `which` is a separate
    busybox applet.
    
    Once applied to everything concerning OpenWrt we can disable the busybox
    feature `which` and save 3.8kB.
    
    Acked-by: Stijn Tintel <stijn at linux-ipv6.be>
    Signed-off-by: Paul Spooren <mail at aparcar.org>
    [also replace cases in zram-swap]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 include/rootfs.mk                                     |  6 +++---
 package/base-files/files/lib/upgrade/stage2           |  2 +-
 package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh |  2 +-
 package/system/zram-swap/files/zram.init              |  6 +++---
 scripts/ipkg-build                                    | 12 ++++++------
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/include/rootfs.mk b/include/rootfs.mk
index b6775c7e15..18ada3cd43 100644
--- a/include/rootfs.mk
+++ b/include/rootfs.mk
@@ -69,7 +69,7 @@ define prepare_rootfs
 	@( \
 		cd $(1); \
 		for script in ./usr/lib/opkg/info/*.postinst; do \
-			IPKG_INSTROOT=$(1) $$(which bash) $$script; \
+			IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
 			ret=$$?; \
 			if [ $$ret -ne 0 ]; then \
 				echo "postinst script $$script has failed with exit code $$ret" >&2; \
@@ -79,10 +79,10 @@ define prepare_rootfs
 		for script in ./etc/init.d/*; do \
 			grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
 			if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \
-				IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \
+				IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script enable; \
 				echo "Enabling" $$(basename $$script); \
 			else \
-				IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script disable; \
+				IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script disable; \
 				echo "Disabling" $$(basename $$script); \
 			fi; \
 		done || true \
diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
index dbb33e8958..a4fef42134 100755
--- a/package/base-files/files/lib/upgrade/stage2
+++ b/package/base-files/files/lib/upgrade/stage2
@@ -45,7 +45,7 @@ switch_to_ramfs() {
 		snapshot snapshot_tool					\
 		$RAMFS_COPY_BIN
 	do
-		local file="$(which "$binary" 2>/dev/null)"
+		local file="$(command -v "$binary" 2>/dev/null)"
 		[ -n "$file" ] && install_bin "$file"
 	done
 	install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh /lib/upgrade/do_stage2 /usr/share/libubox/jshn.sh $RAMFS_COPY_DATA
diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
index 33447341b2..352c365f27 100644
--- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -223,7 +223,7 @@ enable_broadcom() {
 	}
 
 	local _c=0
-	local nas="$(which nas)"
+	local nas="$(command -v nas)"
 	local if_pre_up if_up nas_cmd
 	local vif vif_pre_up vif_post_up vif_do_up vif_txpower
 	local bssmax=$(wlc ifname "$device" bssmax)
diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init
index a6126e578f..42c084855a 100755
--- a/package/system/zram-swap/files/zram.init
+++ b/package/system/zram-swap/files/zram.init
@@ -35,17 +35,17 @@ zram_applicable()
 		return 1
 	}
 
-	which mkswap >/dev/null || {
+	command -v mkswap >/dev/null || {
 		logger -s -t zram_applicable -p daemon.err "[ERROR] 'mkswap' not installed"
 		return 1
 	}
 
-	which swapon >/dev/null || {
+	command -v swapon >/dev/null || {
 		logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapon' not installed"
 		return 1
 	}
 
-	which swapoff >/dev/null || {
+	command -v swapoff >/dev/null || {
 		logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapoff' not installed"
 		return 1
 	}
diff --git a/scripts/ipkg-build b/scripts/ipkg-build
index 21127f3391..6e027bc546 100755
--- a/scripts/ipkg-build
+++ b/scripts/ipkg-build
@@ -10,10 +10,10 @@
 set -e
 
 version=1.0
-FIND="$(which find)"
-FIND="${FIND:-$(which gfind)}"
-TAR="${TAR:-$(which tar)}"
-GZIP="$(which gzip)"
+FIND="$(command -v find)"
+FIND="${FIND:-$(command -v gfind)}"
+TAR="${TAR:-$(command -v tar)}"
+GZIP="$(command -v gzip)"
 
 # try to use fixed source epoch
 if [ -n "$SOURCE_DATE_EPOCH" ]; then
@@ -21,10 +21,10 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then
 
 # look up date of last commit
 elif [ -d "$TOPDIR/.git" ]; then
-	GIT="$(which git)"
+	GIT="$(command -v git)"
 	TIMESTAMP=$(cd $TOPDIR; $GIT log -1 -s --format=%ci)
 elif [ -d "$TOPDIR/.svn" ]; then
-	SVN="$(which svn)"
+	SVN="$(command -v svn)"
 	TIMESTAMP=$($SVN info "$TOPDIR" | sed -n "s/^Last Changed Date: \(.*\)/\1/p")
 else
 	TIMESTAMP=$(date)



More information about the lede-commits mailing list