Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2007-12-10 Thread Jussi Hakala

Package: dpkg
Version: 1.13.25

Etch's dpkg does not recognize arm-none-linux-uclibcgnueabi as a valid 
architecture. Don't know if this architecture string is exactly a proper 
one to begin with, but at compile time it seemed like the most 
reasonable one from all the options...


Anyway, we need a separate architecture for armel+uclibc.

Meanwhile, made this horrid patch to get the architecture recognized as 
armel, as with the ordinary arm+glibc equivalent.


diff -Nur old/dpkg-1.13.25/scripts/controllib.pl new/dpkg-1.13.25/scripts/controllib.pl
--- old/dpkg-1.13.25/scripts/controllib.pl	2007-08-29 16:35:03.0 +0300
+++ new/dpkg-1.13.25/scripts/controllib.pl	2007-11-20 17:47:34.0 +0200
@@ -95,7 +95,7 @@
 	return $cpu;
 } elsif ($os =~ /^(none|gnu)-(.*)/) {
 	return "$2-$cpu";
-} elsif ("$os-$cpu" eq "gnueabi-linux-arm") {
+} elsif ($cpu eq "arm" && $os =~ /gnueabi/) {
 	return "armel";
 } else {
 	return "$os-$cpu";
diff -Nur old/dpkg-1.13.25/ostable new/dpkg-1.13.25/ostable
--- old/dpkg-1.13.25/ostable	2007-08-29 16:35:05.0 +0300
+++ new/dpkg-1.13.25/ostable	2007-11-20 17:57:11.0 +0200
@@ -13,7 +13,7 @@
 # system part of the output of the GNU config.guess script.
 #
 # 		
-gnueabi-linux	linux-gnueabi	linux[^-]*-gnueabi
+gnueabi-linux	linux-gnueabi	linux[^-]*-[^-]*gnueabi
 gnu-linux	linux-gnu	linux[^-]*(-gnu)?
 none-darwin	darwin		darwin[^-]*
 none-freebsd	freebsd		freebsd[^-]*


Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2007-12-11 Thread Guillem Jover
Hi,

On Mon, 2007-12-10 at 15:46:01 +0200, Jussi Hakala wrote:
> Package: dpkg
> Version: 1.13.25

> Etch's dpkg does not recognize arm-none-linux-uclibcgnueabi as a valid 
> architecture.

Just to clarify, the version in etch is not going to be updated for
this anyway, that's Debian release policy.

> Don't know if this architecture string is exactly a proper 
> one to begin with, but at compile time it seemed like the most reasonable 
> one from all the options...

It seems like a valid GNU triplet. Although for dpkg purposes the
-none- is unneeded.

> Anyway, we need a separate architecture for armel+uclibc.

Given other conversations, I take this is for Maemo. And my same
concerns apply, why do you need a new architecture? And do you realize
this would imply having two different dpkg db (there's no multiarch
support yet anyway)?

> Meanwhile, made this horrid patch to get the architecture recognized as 
> armel, as with the ordinary arm+glibc equivalent.

This is the completely wrong approach, I'd recommend you don't do that
in Maemo either.

thanks,
guillem



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2007-12-12 Thread Jussi Hakala

Guillem Jover wrote:

Just to clarify, the version in etch is not going to be updated for
this anyway, that's Debian release policy.


Didn't expect it would.

I issued a bug because I thought it would be nice to have a record of 
etch dpkg-architecture breaking when the toolchain advertises itself as 
an uclibc toolchain.



Given other conversations, I take this is for Maemo. And my same
concerns apply, why do you need a new architecture? And do you realize
this would imply having two different dpkg db (there's no multiarch
support yet anyway)?


Yes, I know.

You're correct, the patch is for maemo. The bug however, is about 
debian. However it will be handled in maemo, is, in the end, not 
relevant here.


Meanwhile, made this horrid patch to get the architecture recognized as 
armel, as with the ordinary arm+glibc equivalent.


This is the completely wrong approach, I'd recommend you don't do that
in Maemo either.


I realize that.

As I said earlier, the patch here is a quick (and ugly) fix to 
circumvent a problem with dpkg-architecture searching specifically for 
-gnueabi in architecture strings.


It's not intended as a solution. It was a way to create armel packages 
which are built against uclibc instead of breaking down completely.


Regards,

  Jussi




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2008-06-04 Thread Jussi Hakala

Guillem Jover wrote:

Sure, no problem with that, it's always good to have bugs on file, but
the only problem here is trying to overload the meaning of armel for a
different architecture.


I understand. But surely we can choose a different name (uarmel?) and 
after we've agreed with the arch naming scheme, this can be implemented 
properly.



The proper fix (if desired) is to create a name for this supposed
uclibc based architecture. Then those warnings go away by themselves.


Agreed. The patch was only intended as a temporary solution. I'd rather 
see a working package with somewhat conflicting architecture, than no 
package at all and an error message when trying to build the package.



I'm tempted to close this bug report unless there's someone starting a
real Debian arm eabi uclibc port.


Sure.

However, the core problem is not entirely armel related. When we want to 
use something else than glibc (uClibc, Newlib, dietlibc, Klibc, ...) in 
any architecture, we want (generally) those packages to be of different 
arch than the ones built against "vanilla" glibc.


Therefore, it would be reasonable that a uniform naming scheme would 
exist in the architecture names.


When we have an idea what that scheme could be, we can reimplement the 
patch properly.


Regards,

  Jussi



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2008-06-30 Thread Guillem Jover
On Wed, 2008-06-04 at 12:51:40 +0300, Jussi Hakala wrote:
> Guillem Jover wrote:
>> Sure, no problem with that, it's always good to have bugs on file, but
>> the only problem here is trying to overload the meaning of armel for a
>> different architecture.
>
> I understand. But surely we can choose a different name (uarmel?) and  
> after we've agreed with the arch naming scheme, this can be implemented  
> properly.
>
>> The proper fix (if desired) is to create a name for this supposed
>> uclibc based architecture. Then those warnings go away by themselves.
>
> Agreed. The patch was only intended as a temporary solution. I'd rather  
> see a working package with somewhat conflicting architecture, than no  
> package at all and an error message when trying to build the package.

I think producing this kind of packages with overloaded architectures
is really bad, might give really confusing errors, and you'll have to
migrate at some point to use the new architecture name as they are
going to be incompatible anyway. It was a pain to move the arm with
eabi binaries to proper armel at Nokia...

>> I'm tempted to close this bug report unless there's someone starting a
>> real Debian arm eabi uclibc port.
>
> Sure.
>
> However, the core problem is not entirely armel related. When we want to  
> use something else than glibc (uClibc, Newlib, dietlibc, Klibc, ...) in  
> any architecture, we want (generally) those packages to be of different  
> arch than the ones built against "vanilla" glibc.

Right (except for s/generally/always/. :)

> Therefore, it would be reasonable that a uniform naming scheme would  
> exist in the architecture names.

There's already one, it is probably not well documented though. The
Debian architectures are now internally handled as triplets (which
are more or less the reversed GNU triplets), so for armel we have:

  Debian arch   Debian triplet  GNU triplet

  armel gnueabi-linux-arm   arm-linux-gnueabi

The most common arches right now are GNU/Linux based so those do not
include the abi nor the os, they are implicit, and the cpu might get
mapped to make it distinguishible, in the previous case we have to
merge the eabi and arm info into a single arch name.

Ideally those would be called linux-, which is less confusing
(people would not assume any kernel running on , but for
historical reasons I don't see this changing).


For the new "common" ones we use -, like in:

  kfreebsd-i386 gnu-kfreebsd-i386   i386-kfreebsd-gnu

And in this case the abi is implicit, if we wanted a different libc,
then we'd have to include it explicitly.


And for really uncommon ones we'd use something like --
for example:

  uclibc-linux-armeluclibceabi-linux-armarm-linux-uclibceabi


I'm attaching a patch which should make uclibc based architectures
work.

regards,
guillem
diff --git a/ostable b/ostable
index f79ad0b..0cc9b8d 100644
--- a/ostable
+++ b/ostable
@@ -14,6 +14,8 @@
 # system part of the output of the GNU config.guess script.
 #
 # 		
+uclibceabi-linux	linux-uclibceabi	linux[^-]*-uclibceabi
+uclibc-linux	linux-uclibc	linux[^-]*-uclibc
 gnueabi-linux	linux-gnueabi	linux[^-]*-gnueabi
 gnulp-linux	linux-gnulp	linux[^-]*-gnulp
 gnu-linux	linux-gnu	linux[^-]*(-gnu.*)?
diff --git a/triplettable b/triplettable
index 79ca1d0..c0439f2 100644
--- a/triplettable
+++ b/triplettable
@@ -3,6 +3,8 @@
 # Supported variables: 
 #
 # 	
+uclibceabi-linux-arm	uclibc-linux-armel
+uclibc-linux-	uclibc-linux-
 gnueabi-linux-arm	armel
 gnulp-linux-i386	lpia
 gnu-linux-		


Bug#455501: dpkg-architecture doesn't recognize arm-none-linux-uclibcgnueabi

2008-05-01 Thread Guillem Jover
Hi,

On Wed, 2007-12-12 at 13:13:26 +0200, Jussi Hakala wrote:
> Guillem Jover wrote:
>> Just to clarify, the version in etch is not going to be updated for
>> this anyway, that's Debian release policy.
>
> Didn't expect it would.
>
> I issued a bug because I thought it would be nice to have a record of  
> etch dpkg-architecture breaking when the toolchain advertises itself as  
> an uclibc toolchain.

Sure, no problem with that, it's always good to have bugs on file, but
the only problem here is trying to overload the meaning of armel for a
different architecture.

>>> Meanwhile, made this horrid patch to get the architecture recognized 
>>> as armel, as with the ordinary arm+glibc equivalent.
>>
>> This is the completely wrong approach, I'd recommend you don't do that
>> in Maemo either.
>
> I realize that.
>
> As I said earlier, the patch here is a quick (and ugly) fix to  
> circumvent a problem with dpkg-architecture searching specifically for  
> -gnueabi in architecture strings.
>
> It's not intended as a solution. It was a way to create armel packages  
> which are built against uclibc instead of breaking down completely.

The proper fix (if desired) is to create a name for this supposed
uclibc based architecture. Then those warnings go away by themselves.
I'm tempted to close this bug report unless there's someone starting a
real Debian arm eabi uclibc port.

regards,
guillem



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]