Skip to content

Commit 10f26fa

Browse files
Asbjoern Sloth Toennesenmichal42
authored andcommitted
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 <[email protected]> Acked-by: maximilian attems <[email protected]> Signed-off-by: Michal Marek <[email protected]>
1 parent e86c241 commit 10f26fa

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

scripts/package/builddeb

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,41 @@ create_package() {
2525
chown -R root:root "$pdir"
2626
chmod -R go-w "$pdir"
2727

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+
2861
# Create the package
29-
dpkg-gencontrol -isp -p$pname -P"$pdir"
62+
dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
3063
dpkg --build "$pdir" ..
3164
}
3265

0 commit comments

Comments
 (0)