[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] kbuild, deb-pkg: select userland architectire based on UTS_MACHINE



On Fri, Nov 05, 2010 at 12:32:41PM +0000, Asbjoern Sloth Toennesen wrote:
> 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>

thank you, indeed very cool.

Acked-by: maximilian attems <max@stro.at>
> ---
>  scripts/package/builddeb |   33 ++++++++++++++++++++++++++++++++-
>  1 files changed, 32 insertions(+), 1 deletions(-)
> 
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index 5f1e2fc..1df1cc0 100644
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -25,8 +25,39 @@ create_package() {
>  	chown -R root:root "$pdir"
>  	chmod -R go-w "$pdir"
>  
> +	# Attempt to find the correct Debian architecture
> +	local forcearch="" debarch=""
> +	case "$UTS_MACHINE" in
> +	i386|ia64|alpha|hppa)
> +		debarch="$UTS_MACHINE" ;;

small nitpick parisc* != hppa


> +	x86_64)
> +		debarch=amd64 ;;
> +	sparc*)
> +		debarch=sparc ;;
> +	s390*)
> +		debarch=s390 ;;
> +	ppc*)
> +		debarch=powerpc ;;
> +	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
> -	dpkg-gencontrol -isp -p$pname -P"$pdir"
> +	dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
>  	dpkg --build "$pdir" ..
>  }
>  
> -- 
> 1.7.2.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Reply to: