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>
This commit is contained in:
parent
e86c2412c8
commit
10f26fa642
|
@ -25,8 +25,41 @@ create_package() {
|
||||||
chown -R root:root "$pdir"
|
chown -R root:root "$pdir"
|
||||||
chmod -R go-w "$pdir"
|
chmod -R go-w "$pdir"
|
||||||
|
|
||||||
|
# Attempt to find the correct Debian architecture
|
||||||
|
local forcearch="" debarch=""
|
||||||
|
case "$UTS_MACHINE" in
|
||||||
|
i386|ia64|alpha)
|
||||||
|
debarch="$UTS_MACHINE" ;;
|
||||||
|
x86_64)
|
||||||
|
debarch=amd64 ;;
|
||||||
|
sparc*)
|
||||||
|
debarch=sparc ;;
|
||||||
|
s390*)
|
||||||
|
debarch=s390 ;;
|
||||||
|
ppc*)
|
||||||
|
debarch=powerpc ;;
|
||||||
|
parisc*)
|
||||||
|
debarch=hppa ;;
|
||||||
|
mips*)
|
||||||
|
debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;;
|
||||||
|
arm*)
|
||||||
|
debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;;
|
||||||
|
*)
|
||||||
|
echo "" >&2
|
||||||
|
echo "** ** ** WARNING ** ** **" >&2
|
||||||
|
echo "" >&2
|
||||||
|
echo "Your architecture doesn't have it's equivalent" >&2
|
||||||
|
echo "Debian userspace architecture defined!" >&2
|
||||||
|
echo "Falling back to using your current userspace instead!" >&2
|
||||||
|
echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
|
||||||
|
echo "" >&2
|
||||||
|
esac
|
||||||
|
if [ -n "$debarch" ] ; then
|
||||||
|
forcearch="-DArchitecture=$debarch"
|
||||||
|
fi
|
||||||
|
|
||||||
# Create the package
|
# Create the package
|
||||||
dpkg-gencontrol -isp -p$pname -P"$pdir"
|
dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
|
||||||
dpkg --build "$pdir" ..
|
dpkg --build "$pdir" ..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue