diff options
author | Lyndon Brown <jnqnfe@gmail.com> | 2020-02-22 14:33:01 +0000 |
---|---|---|
committer | Raphaƫl Hertzog <hertzog@debian.org> | 2020-03-09 10:51:11 +0000 |
commit | 7ee59d408ed7681908966a5b2fb28e8f98116d31 (patch) | |
tree | cd95c183cca6f26e624bd73b7271ea98913a2a83 | |
parent | 37f0432e983f11e3bfa29842edd42ad66dd1a25e (diff) | |
download | vyos-live-build-7ee59d408ed7681908966a5b2fb28e8f98116d31.tar.gz vyos-live-build-7ee59d408ed7681908966a5b2fb28e8f98116d31.zip |
fix consistency in binary execution and existance checking
- prefer using `which` over hard coded paths
- it is redundant to check that the bin pointed to the return of
`which` exists and is executable, `which` already gives us
assurance of that if it returns true!
- the redirection of output (`2>/dev/null`) seems to be
unnecessary from my testing.
the instances relatnig to fdisk and losetup in functions/defaults.sh have
been left as they are since they get executed by `lb config` which can run
without sudo elevation unlike `lb build` and in that case `which` would
fail to find these binaries resulting in error.
this also fixes a bug showing an error for missing debootstrap - this tool
requires sudo privileges to run and thus is not found via a none elevated
which search.
Gbp-Dch: Short
Closes: #952927
-rwxr-xr-x | frontend/lb | 4 | ||||
-rwxr-xr-x | frontend/live-build | 2 | ||||
-rwxr-xr-x | functions/architectures.sh | 2 | ||||
-rwxr-xr-x | functions/defaults.sh | 6 | ||||
-rwxr-xr-x | functions/losetup.sh | 2 | ||||
-rwxr-xr-x | functions/man.sh | 2 | ||||
-rwxr-xr-x | scripts/build/bootstrap_debootstrap | 6 | ||||
-rwxr-xr-x | scripts/build/chroot_archives | 4 | ||||
-rwxr-xr-x | scripts/build/config | 2 | ||||
-rwxr-xr-x | share/bin/Packages | 4 | ||||
-rwxr-xr-x | share/hooks/normal/0400-update-apt-file-cache.hook.chroot | 2 | ||||
-rwxr-xr-x | share/hooks/normal/0410-update-apt-xapian-index.hook.chroot | 2 | ||||
-rwxr-xr-x | share/hooks/normal/0430-update-mlocate-database.hook.chroot | 2 |
13 files changed, 20 insertions, 20 deletions
diff --git a/frontend/lb b/frontend/lb index 0e826d989..f2015b033 100755 --- a/frontend/lb +++ b/frontend/lb @@ -20,7 +20,7 @@ USAGE="lb {clean|config|build}" case "${1}" in -h|--help) - if [ -x "$(which man 2>/dev/null)" ] + if [ $(which man) ] then man lb exit 0 @@ -75,7 +75,7 @@ case "${1}" in then # User has live-build installed in the system SCRIPT=/usr/lib/live/build/"${COMMAND}" - elif [ -x "$(which ${COMMAND} 2>/dev/null)" ] + elif [ $(which "${COMMAND}") ] then # User has live-build commands in path SCRIPT="${COMMAND}" diff --git a/frontend/live-build b/frontend/live-build index 52b843730..dfd1e4667 100755 --- a/frontend/live-build +++ b/frontend/live-build @@ -22,7 +22,7 @@ set -e -if [ -x "$(which man 2>/dev/null)" ] +if [ $(which man) ] then man live-build else diff --git a/functions/architectures.sh b/functions/architectures.sh index 7c6c48cff..393d217e8 100755 --- a/functions/architectures.sh +++ b/functions/architectures.sh @@ -49,7 +49,7 @@ Check_architectures () Check_crossarchitectures () { - if [ -x /usr/bin/dpkg ] + if [ $(which dpkg) ] then HOST="$(dpkg --print-architecture)" else diff --git a/functions/defaults.sh b/functions/defaults.sh index d254b079a..ed271ebc9 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -13,7 +13,7 @@ New_configuration () ## Runtime # Image: Architecture - if [ -x "/usr/bin/dpkg" ] + if [ $(which dpkg) ] then CURRENT_IMAGE_ARCHITECTURE="$(dpkg --print-architecture)" else @@ -93,7 +93,7 @@ Set_defaults () LB_SYSTEM="${LB_SYSTEM:-live}" # Setting mode (currently: debian, progress-linux) - if [ -x /usr/bin/lsb_release ] + if [ $(which lsb_release) ] then _DISTRIBUTOR="$(lsb_release -is | tr "[A-Z]" "[a-z]")" @@ -826,7 +826,7 @@ Check_defaults () { case "${LB_BINARY_FILESYSTEM}" in ntfs) - if [ ! -x "$(which ntfs-3g 2>/dev/null)" ] + if [ ! $(which ntfs-3g) ] 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 9d9b46e5d..cdf984b74 100755 --- a/functions/losetup.sh +++ b/functions/losetup.sh @@ -21,7 +21,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 [ -x "$(which udevadm 2>/dev/null)" ] + if [ $(which udevadm) ] then udevadm settle fi diff --git a/functions/man.sh b/functions/man.sh index 11366b7b4..7896f5a9c 100755 --- a/functions/man.sh +++ b/functions/man.sh @@ -10,7 +10,7 @@ Man () { - if [ -x "$(which man 2>/dev/null)" ] + if [ $(which man) ] then man $(basename ${0}) exit 0 diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_debootstrap index b4008de8a..9370c3986 100755 --- a/scripts/build/bootstrap_debootstrap +++ b/scripts/build/bootstrap_debootstrap @@ -24,7 +24,7 @@ Arguments "${@}" Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults -if [ ! -x "$(which debootstrap 2>/dev/null)" ] +if [ ! $(which debootstrap) ] then Echo_error "debootstrap - command not found" Echo_verbose "debootstrap can be obtained from http://ftp.debian.org/debian/pool/main/d/debootstrap/" @@ -76,7 +76,7 @@ then DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --no-check-gpg" fi -if [ -x "/usr/sbin/debootstrap" ] +if [ $(which debootstrap) ] then if [ "${LB_CACHE_PACKAGES}" = "true" ] then @@ -126,6 +126,6 @@ then # Creating stage file Create_stagefile .build/bootstrap else - Echo_error "Can't process file /usr/bin/debootstrap (FIXME)" + Echo_error "Can't find program debootstrap (FIXME)" exit 1 fi diff --git a/scripts/build/chroot_archives b/scripts/build/chroot_archives index 472b76785..f1166ae40 100755 --- a/scripts/build/chroot_archives +++ b/scripts/build/chroot_archives @@ -242,7 +242,7 @@ case "${1}" in cp -f cache/indices.bootstrap/*Release* chroot/var/lib/apt/lists fi - if [ "${LB_APT}" = "aptitude" ] && [ ! -x /usr/bin/aptitude ] + if [ "${LB_APT}" = "aptitude" ] && [ ! $(which aptitude) ] then Chroot chroot "apt-get ${APT_OPTIONS} update" Chroot chroot "apt-get ${APT_OPTIONS} install aptitude" @@ -260,7 +260,7 @@ case "${1}" in fi # Installing aptitude - if [ "${LB_APT}" = "aptitude" ] && [ ! -x /chroot/usr/bin/aptitude ] + if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ] 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 aa275c6b9..e974bc73e 100755 --- a/scripts/build/config +++ b/scripts/build/config @@ -178,7 +178,7 @@ Local_arguments () case "${1}" in --dump) # Dump version - if [ -x "$(which dpkg-query 2>/dev/null)" ] + if [ $(which dpkg-query) ] then VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)" fi diff --git a/share/bin/Packages b/share/bin/Packages index fa6cbbaa2..185fba78d 100755 --- a/share/bin/Packages +++ b/share/bin/Packages @@ -10,9 +10,9 @@ set -e -if [ ! -e /usr/bin/grep-aptavail ] +if [ ! $(which grep-aptavail) ] then - echo "E: /usr/bin/grep-aptavail: No such file." + echo "E: program grep-aptavail not found!" exit 1 fi 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 771e9032a..4634d4cf8 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 [ -x /usr/bin/apt-file ] && [ "${LB_APT_INDICES}" = "true" ] +if [ $(which apt-file) ] && [ "${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 dcb39b261..02f1a18f2 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 [ -x /usr/sbin/update-apt-xapian-index ] +if [ $(which update-apt-xapian-index) ] then PYTHONDONTWRITEBYTECODE=1 /usr/sbin/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 6bfdb3d4f..df99386fe 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 [ -x /usr/bin/updatedb.mlocate ] +if [ $(which updatedb.mlocate) ] then updatedb.mlocate fi |