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

Re: dpkg-cross, dpkg-architecture and arch names



Hi,

On Tue, 2007-02-27 at 12:44:31 +0100, Volker Grabsch wrote:
> On Tue, Feb 27, 2007 at 04:29:54AM +0200, Guillem Jover wrote:
> > > The default list (on both patched and unpatched versions) includes a
> > > lot of arches that make little sense (like bsd-darwin-sh3,
> > > kfreebsd-s390) and doesn't include at least one that is useful for
> > > cross-building: win32-i386. (for use with mingw32 I think).
> 
> Calling it "win32-i386" was my first guess, too. However, looking
> deeper at the problem I concluded that the name
> 
>     w32-i386

> is much better. The term "w32" is shorter and it's used very often,
> even in dpkg-cross itself (there is a /etc/dpkg-cross/cross-config.w32).
> Also, it appears in the name "mingw32".

Well it's just 2 chars shorter. We have arch names like hurd-i386 or
even kfreebsd-i386. ;)

> > When the former system was replaced by the new cputable and ostable,
> > the idea was to be able to generate any combination of possible valid
> > names that could come up in the future w/o needing to add support for
> > those explicitely into dpkg.
> 
> As I already stated in the past, this has a problem with different
> CPU variants.
> 
> The generic "i386" may stand for i386, i486, i586, etc.
> 
> While "linux-i386" in Debian currently means "i486",
> a "w32-i386" should stand for "i586".

Why do you need i586? I think someone else asked the same.

> There are three ways to circumvalent the problem:
> 
> 1) Fix the dpkg-architecture system. Explicit allowing to use
>    several CPU variants on the same system would be great.
>    There are some Debian variants whose binaries are completely
>    build with i586 optimizations, who would also profit from
>    getting a standardized name instead of inventing something
>    like an additional "pentium" line in the cputable.
> 
>    This has also been discussed in this list. Please look at
>    the archive before answering to this. The result was (AFAIR)
>    that dpkg and apt would have to be changed, that it would be
>    a nice thing in the future, but that there are too few
>    packages who would profit from that.

I don't think this is going to happen. In general it's better to have
a base arch and build specialized binaries for what it makes sense,
check the openssl packages or libc6-i686.

> 2) Append to the cputable:
>         i586            i586            (i[56]86|pentium)
>    and use "w32-i586". This would add a new "CPU" for
>    something that's just a CPU variant. Also, since "i386"
>    means the whole Intel family, a name like "i586" would be
>    very misleading.

See my two previous comments.

> > The latter (missing win32), is a matter of adding that to the ostable,
> > I can do that, if there's consensus among the win32 porters.
> 
> Yes! Please append to /usr/share/dpkg/ostable this line:
> 
> w32             mingw32msvc     mingw32[^-]*

I'd need some kind of consensus from the win32 porters first, I'm not
going to add this with just one person asking for it, and then having
the rest come screaming, sorry. ;)

> There are problems with the cputable, but this change to the
> ostable is (to my knowledge) a general consensus.

Do you have pointers to discussions about that?

> > > There are also a load of gnuaebi-linux-foo arches which are clearly
> > > bollocks and need removing.
> > 
> > Given the current implementation which combines the ostable and cputable
> > to generate all possible triplets
> 
> So I guess that i586-mingw32msvc does not belong to "all possible
> triplets". SCNR

All possible triplets from the known set. =)

regards,
guillem



Reply to: