On Fri, 2006-06-16 at 17:04 +1200, Michael J. Knox wrote:
Ralf Corsepius wrote:
> On Thu, 2006-06-15 at 23:19 -0500, Jason L Tibbitts III wrote:
>>>>>>> "RC" == Ralf Corsepius <rc040203(a)freenet.de>
writes:
>> RC> Why?
>>
>> What is "i386" and why does it have a subpackage of
"rtems4.7"?
>>
>> RC> This name is the name being used for GNU crosstool toolchains for
>> RC> many years (> a decade). It corresponds to the target
>> RC> canonicalization tuple internally being used by binutils/gcc/gdb,
>> RC> and the autotools.
>>
>> So?
> Yes. Target canonicalization tuples are standardized (In particular in
> binutils, GCC and gdb) and shared between *all* projects using
> config.guess and config.sub (I.e. all package using the autotools).
>
>> We are free to make decisions for ourselves instead of blindly
>> using someone else's naming convention.
> Yes, it's our freedom to waste time on re- and over engineering parts
> others have spend decades on.
>
> A gcc cross compiler's components are called
> <target>-<component>
>
> You can even find traces of this in Fedora:
> e.g.
> /usr/bin/i386-redhat-linux-gcc
> /usr/bin/i386-redhat-linux-c++
>
> I.e. people will be looking for <target>-<tool>
>
>> If the name is completely
>> confusing (as it is to me) then surely we should talk about it before
>> just stuffing it into the repository.
> Would packages be called
> i386-cygwin-gcc
> or
> i386-redhat-gcc
> i586-suse-gcc
> sparc-sun-solaris2.8-gcc
>
> be confusing to you?
>
> IMO, they are self-explanatory.
Why is the binary target name being used for the package name? That's
not intuitive to an end user at all IMHO.
I think confusing the binary target name with the actual package name is
a mistake.
gcc is gcc, not i386-redhat-linux-gcc
Wrong. What you have installed is an
i386-redhat-linux-gcc rsp. a
x86-68-redhat-linux-gcc (more precisely, a GCC having been configured
for host=<arch>-redhat-linux). As this gcc also is the native gcc, it
also is being installed as "gcc", which justifies the package to be
called gcc.
OpenSUSE uses cross-<arch>-gcc/binutils/whatever-version
debian looks like it uses gcc/binutils/whatever-<arch>-version
What is the <whatever>? That's the essential part of it.
A "cross-i386-gcc" would be complete non-sense, because a cross tool
chain depends on the OS and several components more. An
i386-rtems4.7-gcc is something very different from a i386-cygwin-gcc or
a i386-redhat-gcc or a i386-suse-gcc.
I presume they are abbreviating and using <arch> as a synonym for
"<arch>-suse-linux".
... Debian ..., their packaging is the worst of all possible choices.
It's neither browsable, nor complete nor correct, nor current.
Basically looks like rotten packages to me.
Personally I like the cross-prefix, its a lot more obvious to an end
user what the package is and is for, but thats just me.
Everybody being used to cross tool chains, knows that the tools insided
are called <target>-<tools>.
Finally a different view on this issue:
A GNU cross toolchain consists of several packages which comes in
different, multiple incarnations.
Packaging-wise, this situation is not any different from packages which
can be built against different base infrastructures, say:
xorg-mydriver vs. xfree-mydriver
gnome-coolguitool vs. kde-coolguitool
perl-XXXX perl7-XXXX
or (Real world example)
Coin2-* vs. Inventor-*
Ralf