@@ -246,7 +246,23 @@ mkdir -p "$destdir"
(cd $srctree; tar -c -f - -T /tmp/files$$) | (cd $destdir; tar -xf -)
(cd $objtree; tar -c -f - -T /tmp/objfiles$$) | (cd $destdir; tar -xf -)
rm -f /tmp/files$$ /tmp/objfiles$$
-arch=$(dpkg --print-architecture)
+
+case "$UTS_MACHINE" in
+sparc*)
+ arch=sparc ;;
+s390*)
+ arch=s390 ;;
+ppc*)
+ arch=powerpc ;;
+parisc*)
+ arch=hppa ;;
+mips*)
+ arch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;;
+arm*)
+ arch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;;
+i386|ia64|alpha|x86_64|*)
+ arch=$(dpkg --print-architecture) ;;
+esac
cat <<EOF >> debian/control
scripts/package/builddeb script was setting the host machine $arch in the KERNEL/debian/control prior to an invocation of dpkg-gencontrol. The existing method is appropriate for i386/x86_64 but fails when cross-compiling for non-intel. The patch modifies the script to guarantee the correct $arch for the target is written to the control file. This patch has been tested building x86_64 on an i386 machine and also when cross-compiling for ARM on an i386 machine. The issue first arose in the 2.6.38 release. Signed-off-by: Robert Gordon <robert@greenroomsoftware.com> --- scripts/package/builddeb | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-)