summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Watson <cjwatson@ubuntu.com>2012-09-30 09:33:06 +0200
committerDaniel Baumann <daniel@debian.org>2012-09-30 09:38:17 +0200
commitcab0d9e783ef18c334a09e0f1aa141dec0687978 (patch)
tree3b15c3a0231ff750221f6dd1f7e12f8e5bc311b2
parent2046ad7fdd0aebc26ff3ffb625c4446e83b76b68 (diff)
downloadvyos-live-build-cab0d9e783ef18c334a09e0f1aa141dec0687978.tar.gz
vyos-live-build-cab0d9e783ef18c334a09e0f1aa141dec0687978.zip
If --build-with-chroot is false, run ! lines in package-lists in the host system.
-rwxr-xr-xfunctions/packagelists.sh10
-rwxr-xr-xscripts/build/binary_package-lists48
-rwxr-xr-xscripts/build/chroot_package-lists50
3 files changed, 77 insertions, 31 deletions
diff --git a/functions/packagelists.sh b/functions/packagelists.sh
index 8a6141b21..aad1ea2d3 100755
--- a/functions/packagelists.sh
+++ b/functions/packagelists.sh
@@ -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\ *)
diff --git a/scripts/build/binary_package-lists b/scripts/build/binary_package-lists
index 86716785d..ce459ab3a 100755
--- a/scripts/build/binary_package-lists
+++ b/scripts/build/binary_package-lists
@@ -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
-
- # 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 @@ 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
diff --git a/scripts/build/chroot_package-lists b/scripts/build/chroot_package-lists
index b85c00059..8a7f2e779 100755
--- a/scripts/build/chroot_package-lists
+++ b/scripts/build/chroot_package-lists
@@ -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
-
- # 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 @@ 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
-
- # 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}