diff options
author | Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz> | 2010-11-05 09:30:08 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2010-11-25 09:32:05 -0500 |
commit | 10f26fa64200095af0e5d80a980e47877865e4b7 (patch) | |
tree | 4ea8feadf312b9bd2203df79b06982e2c9e473e9 | |
parent | e86c2412c88fbe4676920c40348d3c547c9edb0d (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/builddeb | 35 |
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 | ||