Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10f26fa6 authored by Asbjoern Sloth Toennesen's avatar Asbjoern Sloth Toennesen Committed by Michal Marek
Browse files

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: default avatarAsbjoern Sloth Toennesen <asbjorn@asbjorn.biz>
Acked-by: default avatarmaximilian attems <max@stro.at>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent e86c2412
Loading
Loading
Loading
Loading
+34 −1
Original line number Original line Diff line number Diff line
@@ -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" ..
}
}