Attempt to guess the correct value of the Architecture control
field, based on the ARCH environment variable. Fallback to letting
deb-gencontrol use the host platform's architecture.

With this patch the following make command:

        make ARCH=i386 deb-pkg

will output an i386 Debian package instead of an amd64 one,
when run on amd64 machine.

Signed-off-by: Asbjoern Sloth Toennesen <[email protected]>
---
 scripts/package/builddeb |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 5f1e2fc..43b8826 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -25,8 +25,23 @@ create_package() {
        chown -R root:root "$pdir"
        chmod -R go-w "$pdir"
 
+       # Attempt to find the correct Debian architecture
+       local forcearch="" debarch=""
+       case "$ARCH" in
+       i386|ia64)
+               debarch="$ARCH" ;;
+       x86_64)
+               debarch="amd64" ;;
+       *)
+               grep -q CONFIG_ARM=y .config &&
+                       debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el)
+       esac
+       if [ -n "$debarch" ] ; then
+               forcearch="-DArchitecture=$debarch"
+       fi
+
        # Create the package
-       dpkg-gencontrol -isp -p$pname -P"$pdir"
+       dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
        dpkg --build "$pdir" ..
 }
 
-- 
1.7.2.3


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: 
http://lists.debian.org/[email protected]

Reply via email to