summaryrefslogtreecommitdiff
path: root/scripts/build/chroot_install-packages
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/chroot_install-packages')
-rwxr-xr-xscripts/build/chroot_install-packages32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/build/chroot_install-packages b/scripts/build/chroot_install-packages
index 930ececf0..a578a659a 100755
--- a/scripts/build/chroot_install-packages
+++ b/scripts/build/chroot_install-packages
@@ -42,6 +42,38 @@ Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
+# Check for packages specified with foreign architecture
+_FOREIGN_ARCHITECTURES_FILE="chroot/root/packages.foreign-architectures"
+if [ -e "${_FOREIGN_ARCHITECTURES_FILE}" ] && [ -s "${_FOREIGN_ARCHITECTURES_FILE}" ]
+then
+ _APT_ARCHITECTURES_ADDED="0"
+
+ # Check if version of dpkg in chroot supports multiarch
+ if Chroot chroot dpkg --print-foreign-architectures > /dev/null 2>&1
+ then
+ # Add foregin architectures
+ while read _ARCHITECTURES_LINE
+ do
+ Echo_message "Adding foreign architecture ${_ARCHITECTURES_LINE} to dpkg"
+ Chroot chroot dpkg --add-architecture ${_ARCHITECTURES_LINE}
+
+ _APT_ARCHITECTURES_ADDED="1"
+ done < "${_FOREIGN_ARCHITECTURES_FILE}"
+
+ # Tidy up
+ rm -f "${_FOREIGN_ARCHITECTURES_FILE}"
+ else
+ Echo_error "Version of dpkg in chroot does not support foreign architectures."
+ fi
+
+ # Update apt if foreign architectures were added
+ if [ "${_APT_ARCHITECTURES_ADDED}" -ne "0" ]
+ then
+ Echo_message "Added foreign architectures, updating apt..."
+ Apt chroot update
+ fi
+fi
+
if [ -e chroot/root/packages.chroot ] && [ -s chroot/root/packages.chroot ]
then
# Restoring cache