aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsbjoern Sloth Toennesen <asbjorn@asbjorn.biz>2010-11-05 09:30:08 -0400
committerMichal Marek <mmarek@suse.cz>2010-11-25 09:32:05 -0500
commit10f26fa64200095af0e5d80a980e47877865e4b7 (patch)
tree4ea8feadf312b9bd2203df79b06982e2c9e473e9
parente86c2412c88fbe4676920c40348d3c547c9edb0d (diff)
kbuild, deb-pkg: select userland architecture based on UTS_MACHINE
Instead of creating the debian package for the compiling userland, create it for a userland matching the kernel thats being compiled. This patch supports all Lenny release architectures, and Linux-based architecture candidates for Squeeze. If it can't find a proper Debian userspace it displays a warning, and fallback to let deb-gencontrol use the host's userspace arch. Eg. 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 an amd64 machine. Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz> Acked-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r--scripts/package/builddeb35
1 files changed, 34 insertions, 1 deletions
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 4dfec9aaaace..5d6be3f5e7f7 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -25,8 +25,41 @@ create_package() {
25 chown -R root:root "$pdir" 25 chown -R root:root "$pdir"
26 chmod -R go-w "$pdir" 26 chmod -R go-w "$pdir"
27 27
28 # Attempt to find the correct Debian architecture
29 local forcearch="" debarch=""
30 case "$UTS_MACHINE" in
31 i386|ia64|alpha)
32 debarch="$UTS_MACHINE" ;;
33 x86_64)
34 debarch=amd64 ;;
35 sparc*)
36 debarch=sparc ;;
37 s390*)
38 debarch=s390 ;;
39 ppc*)
40 debarch=powerpc ;;
41 parisc*)
42 debarch=hppa ;;
43 mips*)
44 debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;;
45 arm*)
46 debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;;
47 *)
48 echo "" >&2
49 echo "** ** ** WARNING ** ** **" >&2
50 echo "" >&2
51 echo "Your architecture doesn't have it's equivalent" >&2
52 echo "Debian userspace architecture defined!" >&2
53 echo "Falling back to using your current userspace instead!" >&2
54 echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
55 echo "" >&2
56 esac
57 if [ -n "$debarch" ] ; then
58 forcearch="-DArchitecture=$debarch"
59 fi
60
28 # Create the package 61 # Create the package
29 dpkg-gencontrol -isp -p$pname -P"$pdir" 62 dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
30 dpkg --build "$pdir" .. 63 dpkg --build "$pdir" ..
31} 64}
32 65