Description: If --build-with-chroot is false, run ! lines in package-lists in the host system Author: Colin Watson Last-Update: 2012-08-21 Index: b/functions/packagelists.sh =================================================================== --- a/functions/packagelists.sh +++ b/functions/packagelists.sh @@ -43,7 +43,15 @@ \!*) _EXEC="$(echo ${_LB_LINE} | sed -e 's|^!||')" - chroot chroot ${_EXEC} + case "${LB_BUILD_WITH_CHROOT}" in + true) + chroot chroot sh -c "${_EXEC}" + ;; + + false) + eval ${_EXEC} + ;; + esac ;; \#if\ *) Index: b/scripts/build/lb_binary_package-lists =================================================================== --- a/scripts/build/lb_binary_package-lists +++ b/scripts/build/lb_binary_package-lists @@ -41,15 +41,33 @@ if ls config/package-lists/*.list > /dev/null 2>&1 || \ ls config/package-lists/*.list.binary > /dev/null 2>&1 then - # Restoring cache - Restore_cache cache/packages.chroot - - # Check depends - Check_package chroot/usr/bin/apt-ftparchive apt-utils - Check_package chroot/usr/bin/grep-aptavail dctrl-tools - - # Installing depends - Install_package + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Restoring cache + Restore_cache cache/packages.chroot + + # Check depends + Check_package chroot/usr/bin/apt-ftparchive apt-utils + Check_package chroot/usr/bin/grep-aptavail dctrl-tools + + # Installing depends + Install_package + ;; + + false) + if [ ! -e /usr/bin/apt-ftparchive ]; then + # apt-utils + Echo_error "/usr/bin/apt-ftparchive - no such file." + exit 1 + fi + + if [ ! -e /usr/bin/grep-aptavail ]; then + # dctrl-tools + Echo_error "/usr/bin/grep-aptavail - no such file." + exit 1 + fi + ;; + esac if [ -e "${LIVE_BUILD}/share/bin/Packages" ] then @@ -133,11 +151,15 @@ rm -rf chroot/binary.deb mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status - # Removing depends - Remove_package - - # Saving cache - Save_cache cache/packages.chroot + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Removing depends + Remove_package + + # Saving cache + Save_cache cache/packages.chroot + ;; + esac # Creating stage file Create_stagefile .build/binary_package-lists Index: b/scripts/build/lb_chroot_package-lists =================================================================== --- a/scripts/build/lb_chroot_package-lists +++ b/scripts/build/lb_chroot_package-lists @@ -46,14 +46,26 @@ ls config/package-lists/*.list.chroot > /dev/null 2>&1 || \ ls config/package-lists/*.list.chroot_${_PASS} > /dev/null 2>&1 then - # Checking depends - Check_package chroot/usr/bin/grep-aptavail dctrl-tools - - # Restoring cache - Restore_cache cache/packages.chroot - - # Installing depends - Install_package + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Checking depends + Check_package chroot/usr/bin/grep-aptavail dctrl-tools + + # Restoring cache + Restore_cache cache/packages.chroot + + # Installing depends + Install_package + ;; + + false) + if [ ! -e /usr/bin/grep-aptavail ]; then + # dctrl-tools + Echo_error "/usr/bin/grep-aptavail - no such file." + exit 1 + fi + ;; + esac if [ -e "${LIVE_BUILD}/share/bin/Packages" ] then @@ -76,15 +88,19 @@ rm -f chroot/bin/Packages - # Removing dctrl-tools again if the user has not installed it - if ! grep -qs dctrl-tools chroot/root/packages.chroot - then - # Removing depends - Remove_package - fi - - # Saving cache - Save_cache cache/packages.binary + case "${LB_BUILD_WITH_CHROOT}" in + true) + # Removing dctrl-tools again if the user has not installed it + if ! grep -qs dctrl-tools chroot/root/packages.chroot + then + # Removing depends + Remove_package + fi + + # Saving cache + Save_cache cache/packages.binary + ;; + esac # Creating stage file Create_stagefile .build/chroot_package-lists.${_PASS}