If --build-with-chroot is false, run ! lines in package-lists in the host system.

This commit is contained in:
Colin Watson 2012-09-30 09:33:06 +02:00 committed by Daniel Baumann
parent 2046ad7fdd
commit cab0d9e783
3 changed files with 72 additions and 26 deletions

View File

@ -43,7 +43,15 @@ Expand_packagelist ()
\!*)
_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\ *)

View File

@ -41,15 +41,33 @@ Create_lockfile .lock
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
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
# Check depends
Check_package chroot/usr/bin/apt-ftparchive apt-utils
Check_package chroot/usr/bin/grep-aptavail dctrl-tools
# Installing depends
Install_package
# 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 @@ then
rm -rf chroot/binary.deb
mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status
# Removing depends
Remove_package
case "${LB_BUILD_WITH_CHROOT}" in
true)
# Removing depends
Remove_package
# Saving cache
Save_cache cache/packages.chroot
# Saving cache
Save_cache cache/packages.chroot
;;
esac
# Creating stage file
Create_stagefile .build/binary_package-lists

View File

@ -46,14 +46,26 @@ if ls config/package-lists/*.list > /dev/null 2>&1 || \
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
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
# Restoring cache
Restore_cache cache/packages.chroot
# Installing depends
Install_package
# 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 @@ then
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
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
# Saving cache
Save_cache cache/packages.binary
;;
esac
# Creating stage file
Create_stagefile .build/chroot_package-lists.${_PASS}