fix $@ parameter expansion issues

$@ when unquoted is subject to further word splitting. this fixes a bunch
of instances where it was incorrectly being used unquoted.

Gbp-Dch: Short
This commit is contained in:
Lyndon Brown 2020-04-01 09:29:52 +01:00 committed by Raphaël Hertzog
parent f6a50b6db2
commit 11836c0c18
12 changed files with 245 additions and 252 deletions

View File

@ -20,10 +20,8 @@ In_list ()
shift
local ITEM
for ITEM in ${@}
do
if [ "${NEEDLE}" = "${ITEM}" ]
then
for ITEM in "${@}"; do
if [ "${NEEDLE}" = "${ITEM}" ]; then
return 0
fi
done
@ -34,8 +32,7 @@ In_list ()
Truncate ()
{
local FILE
for FILE in ${@}
do
for FILE in "${@}"; do
if [ ! -L ${FILE} ]
then
: > ${FILE}

View File

@ -17,8 +17,7 @@ Get_conffiles ()
FILES="${LB_CONFIG}"
else
local FILE
for FILE in ${@}
do
for FILE in "${@}"; do
FILES="${FILES} ${FILE} ${FILE}.${LB_ARCHITECTURES} ${FILE}.${DISTRIBUTION}"
FILES="${FILES} config/$(echo ${PROGRAM} | sed -e 's|^lb_||')"
FILES="${FILES} config/$(echo ${PROGRAM} | sed -e 's|^lb_||').${ARCHITECTURE}"

View File

@ -26,8 +26,7 @@ Expand_packagelist ()
local _LB_NESTED=0
local _LB_ENABLED=1
for _LB_SEARCH_PATH in ${@}
do
for _LB_SEARCH_PATH in "${@}"; do
if [ -e "${_LB_SEARCH_PATH}/${_LB_LIST_NAME}" ]
then
_LB_LIST_LOCATION="${_LB_SEARCH_PATH}/${_LB_LIST_NAME}"

View File

@ -74,7 +74,7 @@ Require_stagefiles ()
local FILE
local MISSING=""
local MISSING_COUNT=0
for FILE in ${@}; do
for FILE in "${@}"; do
if [ ! -f ".build/${FILE}" ]; then
MISSING_COUNT=$(( $MISSING_COUNT + 1 ))
MISSING="${MISSING:+$MISSING }${FILE}"

View File

@ -16,11 +16,11 @@ Apt ()
case "${LB_APT}" in
apt|apt-get)
Chroot ${CHROOT} apt-get ${APT_OPTIONS} ${@}
Chroot ${CHROOT} apt-get ${APT_OPTIONS} "${@}"
;;
aptitude)
Chroot ${CHROOT} aptitude ${APTITUDE_OPTIONS} ${@}
Chroot ${CHROOT} aptitude ${APTITUDE_OPTIONS} "${@}"
;;
esac
}

View File

@ -28,78 +28,78 @@ Init_config_data "${@}"
Setup_clean_exit
# Preparing root filesystem
lb binary_chroot ${@}
lb binary_chroot "${@}"
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then
# Configuring chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_dpkg install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_apt install-binary ${@}
lb chroot_archives chroot install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_apt install-binary "${@}"
lb chroot_archives chroot install "${@}"
fi
# Building root filesystem
lb binary_rootfs ${@}
lb binary_manifest ${@}
lb binary_rootfs "${@}"
lb binary_manifest "${@}"
# Prepare images
lb binary_package-lists ${@}
lb binary_linux-image ${@}
lb binary_memtest ${@}
lb binary_grub-legacy ${@}
lb binary_grub-pc ${@}
lb binary_loopback_cfg ${@}
lb binary_syslinux ${@}
lb binary_disk ${@}
lb binary_loadlin ${@}
lb binary_win32-loader ${@}
lb binary_includes ${@}
lb binary_grub-efi ${@}
lb binary_hooks ${@}
lb binary_checksums ${@}
lb binary_package-lists "${@}"
lb binary_linux-image "${@}"
lb binary_memtest "${@}"
lb binary_grub-legacy "${@}"
lb binary_grub-pc "${@}"
lb binary_loopback_cfg "${@}"
lb binary_syslinux "${@}"
lb binary_disk "${@}"
lb binary_loadlin "${@}"
lb binary_win32-loader "${@}"
lb binary_includes "${@}"
lb binary_grub-efi "${@}"
lb binary_hooks "${@}"
lb binary_checksums "${@}"
if [ "${LB_BUILD_WITH_CHROOT}" != "true" ]
then
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
fi
# Building images
lb binary_iso ${@}
lb binary_onie ${@}
lb binary_netboot ${@}
lb binary_tar ${@}
lb binary_hdd ${@}
lb binary_iso "${@}"
lb binary_onie "${@}"
lb binary_netboot "${@}"
lb binary_tar "${@}"
lb binary_hdd "${@}"
lb binary_zsync ${@}
lb binary_zsync "${@}"
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then
# Deconfiguring chroot
Remove_stagefile chroot_archives
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
fi
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
Echo_message "Binary stage completed"

View File

@ -135,34 +135,34 @@ case "${LB_CHROOT_FILESYSTEM}" in
Remove_lockfile
mv chroot/chroot chroot.tmp
lb chroot_archives binary remove ${@}
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_archives binary remove "${@}"
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
rm -rf chroot
mv chroot.tmp chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_archives binary install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb chroot_archives binary install "${@}"
touch .lock
else
@ -223,34 +223,34 @@ case "${LB_CHROOT_FILESYSTEM}" in
Remove_lockfile
mv chroot/chroot chroot.tmp
lb chroot_archives binary remove ${@}
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_archives binary remove "${@}"
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
rm -rf chroot
mv chroot.tmp chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_archives binary install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb chroot_archives binary install "${@}"
touch .lock
else
@ -358,34 +358,34 @@ case "${LB_CHROOT_FILESYSTEM}" in
Remove_lockfile
mv chroot/chroot chroot.tmp
lb chroot_archives binary remove ${@}
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_archives binary remove "${@}"
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
rm -rf chroot
mv chroot.tmp chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_archives binary install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb chroot_archives binary install "${@}"
touch .lock
else

View File

@ -28,38 +28,38 @@ Init_config_data "${@}"
Setup_clean_exit
# Bootstrapping system
lb bootstrap_cache restore ${@}
lb bootstrap_debootstrap ${@}
lb bootstrap_cache save ${@}
lb bootstrap_cache restore "${@}"
lb bootstrap_debootstrap "${@}"
lb bootstrap_cache save "${@}"
# Configuring chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_tmpfs install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_tmpfs install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb bootstrap_archives binary ${@}
lb bootstrap_archives binary "${@}"
# Deconfiguring chroot
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_tmpfs remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_tmpfs remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
Echo_message "Bootstrap stage completed"

View File

@ -55,19 +55,19 @@ Echo_message "live-build ${LIVE_BUILD_VERSION}"
Echo_message "Building for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system"
# Stage #1: Bootstrap new root filesystem
lb bootstrap ${@}
lb bootstrap "${@}"
# Stage #2: Build live OS file system
lb chroot ${@}
lb chroot "${@}"
# Stage #3: Build installer components
lb installer ${@}
lb installer "${@}"
# Stage #4: Build binary (live disc) images
lb binary ${@}
lb binary "${@}"
# Stage #5: Build supplimentary source disc images
lb source ${@}
lb source "${@}"
if [ "${_COLOR_OUT}" = "false" ]; then
Echo_message "Build completed successfully"

View File

@ -28,63 +28,61 @@ Init_config_data "${@}"
Setup_clean_exit
# Restoring cached live OS chroot from cache
lb chroot_cache restore ${@}
lb chroot_cache restore "${@}"
# Configuring chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_tmpfs install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_archives chroot install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_tmpfs install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb chroot_archives chroot install "${@}"
# Customizing chroot
lb chroot_linux-image ${@}
lb chroot_firmware ${@}
lb chroot_preseed ${@}
lb chroot_linux-image "${@}"
lb chroot_firmware "${@}"
lb chroot_preseed "${@}"
for _PASS in install live
do
lb chroot_package-lists ${_PASS} ${@}
lb chroot_install-packages ${_PASS} ${@}
for _PASS in install live; do
lb chroot_package-lists ${_PASS} "${@}"
lb chroot_install-packages ${_PASS} "${@}"
if [ "${_PASS}" = install ]
then
if [ "${_PASS}" = install ]; then
Chroot chroot "dpkg-query -W" > chroot.packages.install
fi
done
lb chroot_includes ${@}
lb chroot_hooks ${@}
lb chroot_hacks ${@}
lb chroot_interactive ${@}
lb chroot_includes "${@}"
lb chroot_hooks "${@}"
lb chroot_hacks "${@}"
lb chroot_interactive "${@}"
Chroot chroot "dpkg-query -W" > chroot.packages.live
# Deconfiguring chroot
lb chroot_archives chroot remove ${@}
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_tmpfs remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_archives chroot remove "${@}"
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_tmpfs remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
# Saving live OS chroot to cache
lb chroot_cache save ${@}
lb chroot_cache save "${@}"
Chroot chroot "ls -lR" > chroot.files

View File

@ -30,41 +30,41 @@ Setup_clean_exit
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then
# Configuring chroot
lb chroot_devpts install ${@}
lb chroot_proc install ${@}
lb chroot_selinuxfs install ${@}
lb chroot_sysfs install ${@}
lb chroot_debianchroot install ${@}
lb chroot_dpkg install ${@}
lb chroot_tmpfs install ${@}
lb chroot_sysv-rc install ${@}
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_apt install ${@}
lb chroot_archives chroot install ${@}
lb chroot_devpts install "${@}"
lb chroot_proc install "${@}"
lb chroot_selinuxfs install "${@}"
lb chroot_sysfs install "${@}"
lb chroot_debianchroot install "${@}"
lb chroot_dpkg install "${@}"
lb chroot_tmpfs install "${@}"
lb chroot_sysv-rc install "${@}"
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_apt install "${@}"
lb chroot_archives chroot install "${@}"
fi
# Building installer
lb installer_debian-installer ${@}
lb installer_preseed ${@}
lb installer_debian-installer "${@}"
lb installer_preseed "${@}"
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then
# Deconfiguring chroot
lb chroot_archives chroot remove ${@}
lb chroot_apt remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_sysv-rc remove ${@}
lb chroot_tmpfs remove ${@}
lb chroot_dpkg remove ${@}
lb chroot_debianchroot remove ${@}
lb chroot_sysfs remove ${@}
lb chroot_selinuxfs remove ${@}
lb chroot_proc remove ${@}
lb chroot_devpts remove ${@}
lb chroot_archives chroot remove "${@}"
lb chroot_apt remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
lb chroot_sysv-rc remove "${@}"
lb chroot_tmpfs remove "${@}"
lb chroot_dpkg remove "${@}"
lb chroot_debianchroot remove "${@}"
lb chroot_sysfs remove "${@}"
lb chroot_selinuxfs remove "${@}"
lb chroot_proc remove "${@}"
lb chroot_devpts remove "${@}"
fi
Echo_message "Installer stage completed"

View File

@ -33,27 +33,27 @@ fi
Setup_clean_exit
# Configuring chroot (enabling networking)
lb chroot_hosts install ${@}
lb chroot_resolv install ${@}
lb chroot_hostname install ${@}
lb chroot_archives source install ${@}
lb chroot_hosts install "${@}"
lb chroot_resolv install "${@}"
lb chroot_hostname install "${@}"
lb chroot_archives source install "${@}"
# Preparing images
lb source_live ${@}
lb source_debian ${@}
lb source_disk ${@}
lb source_hooks ${@}
lb source_checksums ${@}
lb source_live "${@}"
lb source_debian "${@}"
lb source_disk "${@}"
lb source_hooks "${@}"
lb source_checksums "${@}"
# Building images
lb source_iso ${@}
lb source_tar ${@}
lb source_hdd ${@}
lb source_iso "${@}"
lb source_tar "${@}"
lb source_hdd "${@}"
# Deconfiguring chroot
lb chroot_archives source remove ${@}
lb chroot_hostname remove ${@}
lb chroot_resolv remove ${@}
lb chroot_hosts remove ${@}
lb chroot_archives source remove "${@}"
lb chroot_hostname remove "${@}"
lb chroot_resolv remove "${@}"
lb chroot_hosts remove "${@}"
Echo_message "Source stage completed"