From 57444bb38b61d318c03f64947c8af49293da9342 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel@debian.org>
Date: Wed, 10 Oct 2007 11:39:55 +0200
Subject: Adding check to fail if a cross build is started (Closes: #444669,
 #444670).

---
 functions/architecture.sh         | 22 ++++++++++++++++++++++
 helpers/lh_binary_grub            |  1 +
 helpers/lh_binary_syslinux        |  1 +
 helpers/lh_binary_yaboot          |  1 +
 helpers/lh_bootstrap_cache        |  3 +++
 helpers/lh_bootstrap_cdebootstrap |  3 +++
 helpers/lh_bootstrap_copy         |  3 +++
 helpers/lh_bootstrap_debootstrap  |  3 +++
 8 files changed, 37 insertions(+)

diff --git a/functions/architecture.sh b/functions/architecture.sh
index d9c84f8..6cc0caf 100755
--- a/functions/architecture.sh
+++ b/functions/architecture.sh
@@ -30,6 +30,28 @@ Check_architecture ()
 	fi
 }
 
+Check_crossarchitecture ()
+{
+	if [ -x /usr/bin/dpkg ]
+	then
+		HOST="$(dpkg --print-architecture)"
+	else
+		HOST="$(uname -m)"
+	fi
+
+	case "${HOST}" in
+		amd64|i386)
+			CROSS="amd64 i386"
+			;;
+
+		powerpc|ppc64)
+			CROSS="powerpc ppc64"
+			;;
+	esac
+
+	Check_architecture "${CROSS}"
+}
+
 Check_multiarchitecture ()
 {
 	if [ "$(echo ${LH_ARCHITECTURE} | wc -w)" -gt "1" ]
diff --git a/helpers/lh_binary_grub b/helpers/lh_binary_grub
index 4bb5f7d..9ba3286 100755
--- a/helpers/lh_binary_grub
+++ b/helpers/lh_binary_grub
@@ -57,6 +57,7 @@ Create_lockfile .lock
 
 # Check architecture
 Check_architecture amd64 i386
+Check_crossarchitecture
 
 # Checking depends
 Check_package chroot/usr/sbin/grub grub
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index 8c6887f..3af3790 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -57,6 +57,7 @@ Create_lockfile .lock
 
 # Check architecture
 Check_architecture amd64 i386
+Check_crossarchitecture
 
 # Checking depends
 Check_package chroot/usr/bin/syslinux syslinux
diff --git a/helpers/lh_binary_yaboot b/helpers/lh_binary_yaboot
index e3f8df3..8cffb3f 100755
--- a/helpers/lh_binary_yaboot
+++ b/helpers/lh_binary_yaboot
@@ -57,6 +57,7 @@ Create_lockfile .lock
 
 # Check architecture
 Check_architecture powerpc ppc64
+Check_crossarchitecture
 
 # Checking depends
 Check_package chroot/usr/lib/yaboot/yaboot yaboot
diff --git a/helpers/lh_bootstrap_cache b/helpers/lh_bootstrap_cache
index 66f57c2..4efeba3 100755
--- a/helpers/lh_bootstrap_cache
+++ b/helpers/lh_bootstrap_cache
@@ -33,6 +33,9 @@ Read_conffile config/source
 Read_conffile "${LH_CONFIG}"
 Set_defaults
 
+# Check architecture
+Check_crossarchitecture
+
 Echo_message "Begin caching bootstrap stage..."
 
 for STAGE in ${LH_CACHE_STAGES}
diff --git a/helpers/lh_bootstrap_cdebootstrap b/helpers/lh_bootstrap_cdebootstrap
index e2b627b..616e195 100755
--- a/helpers/lh_bootstrap_cdebootstrap
+++ b/helpers/lh_bootstrap_cdebootstrap
@@ -38,6 +38,9 @@ then
 	exit 0
 fi
 
+# Check architecture
+Check_crossarchitecture
+
 Echo_message "Begin bootstrapping system..."
 
 Check_package /usr/bin/cdebootstrap cdebootstrap
diff --git a/helpers/lh_bootstrap_copy b/helpers/lh_bootstrap_copy
index 1f48c7f..518069f 100755
--- a/helpers/lh_bootstrap_copy
+++ b/helpers/lh_bootstrap_copy
@@ -38,6 +38,9 @@ then
 	exit 0
 fi
 
+# Check architecture
+Check_crossarchitecture
+
 Echo_message "Begin bootstrapping system..."
 
 # Ensure that a system is built as root
diff --git a/helpers/lh_bootstrap_debootstrap b/helpers/lh_bootstrap_debootstrap
index 3be3968..c25b379 100755
--- a/helpers/lh_bootstrap_debootstrap
+++ b/helpers/lh_bootstrap_debootstrap
@@ -38,6 +38,9 @@ then
 	exit 0
 fi
 
+# Check architecture
+Check_crossarchitecture
+
 Echo_message "Begin bootstrapping system..."
 
 Check_package /usr/sbin/debootstrap debootstrap
-- 
cgit v1.0