summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnraff <github@rafflesnagoya.com>2020-03-12 14:37:21 +0900
committerLuca Boccassi <bluca@debian.org>2020-03-12 10:35:57 +0000
commit2d9ab1f7f82f9a98b97d1503c1e3f31c86061c15 (patch)
tree7e387db7a374aad1f0865147c0b3403e09c77ce3
parent72a87fb70d26153bdfe06d0cdf42a199ff7ad68d (diff)
downloadvyos-live-build-2d9ab1f7f82f9a98b97d1503c1e3f31c86061c15.tar.gz
vyos-live-build-2d9ab1f7f82f9a98b97d1503c1e3f31c86061c15.zip
Test for executables: replace 'which' with more robust 'command -v'
Instances of: if [ $(which <command> ] have been replaced with: if command -v <command> >/dev/null which is considered to be more robust in a range of environments. scripts/build/chroot_archives: line 259: if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ] has been left untouched because the chroot might require a more complex command which would need more testing. manpages/Makefile: line 42: @if [ ! -x "$$(which po4a 2>/dev/null)" ]; \ has been left untouched because I am not sufficiently familiar with makefiles.
-rwxr-xr-xfrontend/lb4
-rwxr-xr-xfrontend/live-build2
-rwxr-xr-xfunctions/architectures.sh2
-rwxr-xr-xfunctions/defaults.sh6
-rwxr-xr-xfunctions/losetup.sh2
-rwxr-xr-xfunctions/man.sh2
-rwxr-xr-xfunctions/packages.sh2
-rwxr-xr-xscripts/build/bootstrap_debootstrap2
-rwxr-xr-xscripts/build/chroot_archives2
-rwxr-xr-xscripts/build/config2
-rwxr-xr-xshare/bin/Packages2
-rwxr-xr-xshare/hooks/normal/0400-update-apt-file-cache.hook.chroot2
-rwxr-xr-xshare/hooks/normal/0410-update-apt-xapian-index.hook.chroot2
-rwxr-xr-xshare/hooks/normal/0430-update-mlocate-database.hook.chroot2
14 files changed, 17 insertions, 17 deletions
diff --git a/frontend/lb b/frontend/lb
index 464b07dcc..993d3a27d 100755
--- a/frontend/lb
+++ b/frontend/lb
@@ -21,7 +21,7 @@ USAGE="lb {clean|config|build}"
case "${1}" in
-h|--help)
- if [ $(which man) ]
+ if command -v man >/dev/null
then
man lb
exit 0
@@ -76,7 +76,7 @@ case "${1}" in
then
# User has live-build installed in the system
SCRIPT=/usr/lib/live/build/"${COMMAND}"
- elif [ $(which "${COMMAND}") ]
+ elif command -v "${COMMAND}" >/dev/null
then
# User has live-build commands in path
SCRIPT="${COMMAND}"
diff --git a/frontend/live-build b/frontend/live-build
index 29efec9cf..2980158c0 100755
--- a/frontend/live-build
+++ b/frontend/live-build
@@ -23,7 +23,7 @@
set -e
-if [ $(which man) ]
+if command -v man >/dev/null
then
man live-build
else
diff --git a/functions/architectures.sh b/functions/architectures.sh
index aeb298eb3..bdad4cbc0 100755
--- a/functions/architectures.sh
+++ b/functions/architectures.sh
@@ -50,7 +50,7 @@ Check_architectures ()
Check_crossarchitectures ()
{
- if [ $(which dpkg) ]
+ if command -v dpkg >/dev/null
then
HOST="$(dpkg --print-architecture)"
else
diff --git a/functions/defaults.sh b/functions/defaults.sh
index 695195d9d..14dd5d269 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -14,7 +14,7 @@ New_configuration ()
## Runtime
# Image: Architecture
- if [ $(which dpkg) ]
+ if command -v dpkg >/dev/null
then
CURRENT_IMAGE_ARCHITECTURE="$(dpkg --print-architecture)"
else
@@ -94,7 +94,7 @@ Set_config_defaults ()
LB_SYSTEM="${LB_SYSTEM:-live}"
# Setting mode (currently: debian, progress-linux)
- if [ $(which lsb_release) ]
+ if command -v lsb_release >/dev/null
then
_DISTRIBUTOR="$(lsb_release -is | tr "[A-Z]" "[a-z]")"
@@ -802,7 +802,7 @@ Check_config_defaults ()
{
case "${LB_BINARY_FILESYSTEM}" in
ntfs)
- if [ ! $(which ntfs-3g) ]
+ if ! command -v ntfs-3g >/dev/null
then
Echo_error "Using ntfs as the binary filesystem is currently only supported if ntfs-3g is installed on the host system."
diff --git a/functions/losetup.sh b/functions/losetup.sh
index c3dd59641..971054284 100755
--- a/functions/losetup.sh
+++ b/functions/losetup.sh
@@ -22,7 +22,7 @@ Lodetach ()
# Changes to block devices result in uevents which trigger rules which in
# turn access the loop device (ex. udisks-part-id, blkid) which can cause
# a race condition. We call 'udevadm settle' to help avoid this.
- if [ $(which udevadm) ]
+ if command -v udevadm >/dev/null
then
udevadm settle
fi
diff --git a/functions/man.sh b/functions/man.sh
index cb886fba1..9eeb7206f 100755
--- a/functions/man.sh
+++ b/functions/man.sh
@@ -11,7 +11,7 @@
Man ()
{
- if [ $(which man) ]
+ if command -v man >/dev/null
then
man $(basename ${0})
exit 0
diff --git a/functions/packages.sh b/functions/packages.sh
index f07bed35f..edf6f87b2 100755
--- a/functions/packages.sh
+++ b/functions/packages.sh
@@ -81,7 +81,7 @@ Check_installed ()
INSTALL_STATUS=1
fi
else
- if [ $(which dpkg-query) ]
+ if command -v dpkg-query >/dev/null
then
if dpkg-query -s "${PACKAGE}" 2> /dev/null | grep -qs "Status: install"
then
diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_debootstrap
index c25cbacec..d1fe54365 100755
--- a/scripts/build/bootstrap_debootstrap
+++ b/scripts/build/bootstrap_debootstrap
@@ -21,7 +21,7 @@ USAGE="${PROGRAM} [--force]"
# Processing arguments and configuration files
Init_config_data "${@}"
-if [ ! $(which debootstrap) ]
+if ! command -v debootstrap >/dev/null
then
Echo_error "debootstrap - command not found"
Echo_verbose "debootstrap can be obtained from http://ftp.debian.org/debian/pool/main/d/debootstrap/"
diff --git a/scripts/build/chroot_archives b/scripts/build/chroot_archives
index b602caf4b..612f8f74a 100755
--- a/scripts/build/chroot_archives
+++ b/scripts/build/chroot_archives
@@ -238,7 +238,7 @@ case "${1}" in
cp -f cache/indices.bootstrap/*Release* chroot/var/lib/apt/lists
fi
- if [ "${LB_APT}" = "aptitude" ] && [ ! $(which aptitude) ]
+ if [ "${LB_APT}" = "aptitude" ] && ! command -v aptitude >/dev/null
then
Chroot chroot "apt-get ${APT_OPTIONS} update"
Chroot chroot "apt-get ${APT_OPTIONS} install aptitude"
diff --git a/scripts/build/config b/scripts/build/config
index 0f84c28c7..943ca7c00 100755
--- a/scripts/build/config
+++ b/scripts/build/config
@@ -182,7 +182,7 @@ Local_arguments ()
case "${1}" in
--dump)
# Dump version
- if [ $(which dpkg-query) ]
+ if command -v dpkg-query >/dev/null
then
VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)"
fi
diff --git a/share/bin/Packages b/share/bin/Packages
index ad69fad83..60cd999fc 100755
--- a/share/bin/Packages
+++ b/share/bin/Packages
@@ -11,7 +11,7 @@
set -e
-if [ ! $(which grep-aptavail) ]
+if ! command -v grep-aptavail >/dev/null
then
echo "E: program grep-aptavail not found!"
diff --git a/share/hooks/normal/0400-update-apt-file-cache.hook.chroot b/share/hooks/normal/0400-update-apt-file-cache.hook.chroot
index 4634d4cf8..c83225fe5 100755
--- a/share/hooks/normal/0400-update-apt-file-cache.hook.chroot
+++ b/share/hooks/normal/0400-update-apt-file-cache.hook.chroot
@@ -8,7 +8,7 @@ set -e
. /live-build/config/binary
-if [ $(which apt-file) ] && [ "${LB_APT_INDICES}" = "true" ]
+if command -v apt-file >/dev/null && [ "${LB_APT_INDICES}" = "true" ]
then
apt-file update
fi
diff --git a/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot b/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot
index 93801e511..f737ad171 100755
--- a/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot
+++ b/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot
@@ -8,7 +8,7 @@ set -e
# is not allowed to, and (b) it wants to build the index in the background which
# will be racy in the context of live-build.
-if [ $(which update-apt-xapian-index) ]
+if command -v update-apt-xapian-index >/dev/null
then
PYTHONDONTWRITEBYTECODE=1 update-apt-xapian-index --force --quiet
fi
diff --git a/share/hooks/normal/0430-update-mlocate-database.hook.chroot b/share/hooks/normal/0430-update-mlocate-database.hook.chroot
index df99386fe..03502fdeb 100755
--- a/share/hooks/normal/0430-update-mlocate-database.hook.chroot
+++ b/share/hooks/normal/0430-update-mlocate-database.hook.chroot
@@ -8,7 +8,7 @@ set -e
# means that if the live system is later installed to a hard disk then less
# work will be required after installation.
-if [ $(which updatedb.mlocate) ]
+if command -v updatedb.mlocate >/dev/null
then
updatedb.mlocate
fi