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
This commit is contained in:
parent
37f0432e98
commit
7ee59d408e
|
@ -20,7 +20,7 @@ USAGE="lb {clean|config|build}"
|
||||||
|
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
-h|--help)
|
-h|--help)
|
||||||
if [ -x "$(which man 2>/dev/null)" ]
|
if [ $(which man) ]
|
||||||
then
|
then
|
||||||
man lb
|
man lb
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -75,7 +75,7 @@ case "${1}" in
|
||||||
then
|
then
|
||||||
# User has live-build installed in the system
|
# User has live-build installed in the system
|
||||||
SCRIPT=/usr/lib/live/build/"${COMMAND}"
|
SCRIPT=/usr/lib/live/build/"${COMMAND}"
|
||||||
elif [ -x "$(which ${COMMAND} 2>/dev/null)" ]
|
elif [ $(which "${COMMAND}") ]
|
||||||
then
|
then
|
||||||
# User has live-build commands in path
|
# User has live-build commands in path
|
||||||
SCRIPT="${COMMAND}"
|
SCRIPT="${COMMAND}"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ -x "$(which man 2>/dev/null)" ]
|
if [ $(which man) ]
|
||||||
then
|
then
|
||||||
man live-build
|
man live-build
|
||||||
else
|
else
|
||||||
|
|
|
@ -49,7 +49,7 @@ Check_architectures ()
|
||||||
|
|
||||||
Check_crossarchitectures ()
|
Check_crossarchitectures ()
|
||||||
{
|
{
|
||||||
if [ -x /usr/bin/dpkg ]
|
if [ $(which dpkg) ]
|
||||||
then
|
then
|
||||||
HOST="$(dpkg --print-architecture)"
|
HOST="$(dpkg --print-architecture)"
|
||||||
else
|
else
|
||||||
|
|
|
@ -13,7 +13,7 @@ New_configuration ()
|
||||||
## Runtime
|
## Runtime
|
||||||
|
|
||||||
# Image: Architecture
|
# Image: Architecture
|
||||||
if [ -x "/usr/bin/dpkg" ]
|
if [ $(which dpkg) ]
|
||||||
then
|
then
|
||||||
CURRENT_IMAGE_ARCHITECTURE="$(dpkg --print-architecture)"
|
CURRENT_IMAGE_ARCHITECTURE="$(dpkg --print-architecture)"
|
||||||
else
|
else
|
||||||
|
@ -93,7 +93,7 @@ Set_defaults ()
|
||||||
LB_SYSTEM="${LB_SYSTEM:-live}"
|
LB_SYSTEM="${LB_SYSTEM:-live}"
|
||||||
|
|
||||||
# Setting mode (currently: debian, progress-linux)
|
# Setting mode (currently: debian, progress-linux)
|
||||||
if [ -x /usr/bin/lsb_release ]
|
if [ $(which lsb_release) ]
|
||||||
then
|
then
|
||||||
_DISTRIBUTOR="$(lsb_release -is | tr "[A-Z]" "[a-z]")"
|
_DISTRIBUTOR="$(lsb_release -is | tr "[A-Z]" "[a-z]")"
|
||||||
|
|
||||||
|
@ -826,7 +826,7 @@ Check_defaults ()
|
||||||
{
|
{
|
||||||
case "${LB_BINARY_FILESYSTEM}" in
|
case "${LB_BINARY_FILESYSTEM}" in
|
||||||
ntfs)
|
ntfs)
|
||||||
if [ ! -x "$(which ntfs-3g 2>/dev/null)" ]
|
if [ ! $(which ntfs-3g) ]
|
||||||
then
|
then
|
||||||
Echo_error "Using ntfs as the binary filesystem is currently only supported if ntfs-3g is installed on the host system."
|
Echo_error "Using ntfs as the binary filesystem is currently only supported if ntfs-3g is installed on the host system."
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ Lodetach ()
|
||||||
# Changes to block devices result in uevents which trigger rules which in
|
# 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
|
# turn access the loop device (ex. udisks-part-id, blkid) which can cause
|
||||||
# a race condition. We call 'udevadm settle' to help avoid this.
|
# a race condition. We call 'udevadm settle' to help avoid this.
|
||||||
if [ -x "$(which udevadm 2>/dev/null)" ]
|
if [ $(which udevadm) ]
|
||||||
then
|
then
|
||||||
udevadm settle
|
udevadm settle
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
Man ()
|
Man ()
|
||||||
{
|
{
|
||||||
if [ -x "$(which man 2>/dev/null)" ]
|
if [ $(which man) ]
|
||||||
then
|
then
|
||||||
man $(basename ${0})
|
man $(basename ${0})
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -24,7 +24,7 @@ Arguments "${@}"
|
||||||
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
|
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
|
||||||
Set_defaults
|
Set_defaults
|
||||||
|
|
||||||
if [ ! -x "$(which debootstrap 2>/dev/null)" ]
|
if [ ! $(which debootstrap) ]
|
||||||
then
|
then
|
||||||
Echo_error "debootstrap - command not found"
|
Echo_error "debootstrap - command not found"
|
||||||
Echo_verbose "debootstrap can be obtained from http://ftp.debian.org/debian/pool/main/d/debootstrap/"
|
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"
|
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --no-check-gpg"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -x "/usr/sbin/debootstrap" ]
|
if [ $(which debootstrap) ]
|
||||||
then
|
then
|
||||||
if [ "${LB_CACHE_PACKAGES}" = "true" ]
|
if [ "${LB_CACHE_PACKAGES}" = "true" ]
|
||||||
then
|
then
|
||||||
|
@ -126,6 +126,6 @@ then
|
||||||
# Creating stage file
|
# Creating stage file
|
||||||
Create_stagefile .build/bootstrap
|
Create_stagefile .build/bootstrap
|
||||||
else
|
else
|
||||||
Echo_error "Can't process file /usr/bin/debootstrap (FIXME)"
|
Echo_error "Can't find program debootstrap (FIXME)"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -242,7 +242,7 @@ case "${1}" in
|
||||||
cp -f cache/indices.bootstrap/*Release* chroot/var/lib/apt/lists
|
cp -f cache/indices.bootstrap/*Release* chroot/var/lib/apt/lists
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${LB_APT}" = "aptitude" ] && [ ! -x /usr/bin/aptitude ]
|
if [ "${LB_APT}" = "aptitude" ] && [ ! $(which aptitude) ]
|
||||||
then
|
then
|
||||||
Chroot chroot "apt-get ${APT_OPTIONS} update"
|
Chroot chroot "apt-get ${APT_OPTIONS} update"
|
||||||
Chroot chroot "apt-get ${APT_OPTIONS} install aptitude"
|
Chroot chroot "apt-get ${APT_OPTIONS} install aptitude"
|
||||||
|
@ -260,7 +260,7 @@ case "${1}" in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Installing aptitude
|
# Installing aptitude
|
||||||
if [ "${LB_APT}" = "aptitude" ] && [ ! -x /chroot/usr/bin/aptitude ]
|
if [ "${LB_APT}" = "aptitude" ] && [ ! $(Chroot chroot "which aptitude") ]
|
||||||
then
|
then
|
||||||
Chroot chroot "apt-get ${APT_OPTIONS} update"
|
Chroot chroot "apt-get ${APT_OPTIONS} update"
|
||||||
Chroot chroot "apt-get ${APT_OPTIONS} install aptitude"
|
Chroot chroot "apt-get ${APT_OPTIONS} install aptitude"
|
||||||
|
|
|
@ -178,7 +178,7 @@ Local_arguments ()
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
--dump)
|
--dump)
|
||||||
# Dump version
|
# Dump version
|
||||||
if [ -x "$(which dpkg-query 2>/dev/null)" ]
|
if [ $(which dpkg-query) ]
|
||||||
then
|
then
|
||||||
VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)"
|
VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ ! -e /usr/bin/grep-aptavail ]
|
if [ ! $(which grep-aptavail) ]
|
||||||
then
|
then
|
||||||
echo "E: /usr/bin/grep-aptavail: No such file."
|
echo "E: program grep-aptavail not found!"
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -8,7 +8,7 @@ set -e
|
||||||
|
|
||||||
. /live-build/config/binary
|
. /live-build/config/binary
|
||||||
|
|
||||||
if [ -x /usr/bin/apt-file ] && [ "${LB_APT_INDICES}" = "true" ]
|
if [ $(which apt-file) ] && [ "${LB_APT_INDICES}" = "true" ]
|
||||||
then
|
then
|
||||||
apt-file update
|
apt-file update
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -8,7 +8,7 @@ set -e
|
||||||
# is not allowed to, and (b) it wants to build the index in the background which
|
# 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.
|
# will be racy in the context of live-build.
|
||||||
|
|
||||||
if [ -x /usr/sbin/update-apt-xapian-index ]
|
if [ $(which update-apt-xapian-index) ]
|
||||||
then
|
then
|
||||||
PYTHONDONTWRITEBYTECODE=1 /usr/sbin/update-apt-xapian-index --force --quiet
|
PYTHONDONTWRITEBYTECODE=1 /usr/sbin/update-apt-xapian-index --force --quiet
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -8,7 +8,7 @@ set -e
|
||||||
# means that if the live system is later installed to a hard disk then less
|
# means that if the live system is later installed to a hard disk then less
|
||||||
# work will be required after installation.
|
# work will be required after installation.
|
||||||
|
|
||||||
if [ -x /usr/bin/updatedb.mlocate ]
|
if [ $(which updatedb.mlocate) ]
|
||||||
then
|
then
|
||||||
updatedb.mlocate
|
updatedb.mlocate
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue