FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 11-05-2010, 11:32 AM
Asbjoern Sloth Toennesen
 
Default kbuild, deb-pkg: select userland architectire 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>
---
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" ;;
+ 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, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 1288960361-6407-1-git-send-email-asbjorn@asbjorn.biz">http://lists.debian.org/1288960361-6407-1-git-send-email-asbjorn@asbjorn.biz
 
Old 11-05-2010, 11:44 AM
Asbjørn Sloth Tønnesen
 
Default kbuild, deb-pkg: select userland architectire based on UTS_MACHINE

On 11/05/2010 12:32 PM, Asbjoern Sloth Toennesen wrote:
> kbuild, deb-pkg: select userland architectire based on UTS_MACHINE

s/architectire/architecture/g


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4CD3FC3A.4050401@asbjorn.it">http://lists.debian.org/4CD3FC3A.4050401@asbjorn.it
 
Old 11-05-2010, 12:29 PM
Asbjørn Sloth Tønnesen
 
Default kbuild, deb-pkg: select userland architectire based on UTS_MACHINE

On 11/05/2010 12:41 PM, maximilian attems wrote:
> 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.

Thanks.

>> [...]
>> + case "$UTS_MACHINE" in
>> + i386|ia64|alpha|hppa)
>> + debarch="$UTS_MACHINE" ;;
>
> small nitpick parisc* != hppa

Right, hppa should be by it self.


--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4CD406C7.8090801@asbjorn.biz">http://lists.debian.org/4CD406C7.8090801@asbjorn.biz
 

Thread Tools




All times are GMT. The time now is 11:03 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org