On Wed, Sep 11, 2013 at 09:56:11AM -0400, John Baldwin wrote: > On Wednesday, September 11, 2013 1:49:07 am Baptiste Daroussin wrote: > > On Tue, Sep 10, 2013 at 10:29:38PM -0500, Nathan Whitehorn wrote: > > > On 09/10/13 15:56, Baptiste Daroussin wrote: > > > > Author: bapt > > > > Date: Tue Sep 10 20:56:01 2013 > > > > New Revision: 255457 > > > > URL: http://svnweb.freebsd.org/changeset/base/255457 > > > > > > > > Log: > > > > Add support to detect arm vs armv6 > > > > > > > > There are two different versions of the ARM ABI depending on the > > > > TARGET_ARCH. As these are sligntly different a package built for > > > > one may not work on another. We need to detect which one we are on > > > > by parsing the .ARM.attributes section. > > > > > > > > This will only work on the ARM EABI as this section is part of the > > > > ABI definition. As armv6 only supports the ARM EABI this is not a > > > > problem for the oabi. > > > > > > > > Older versions of libelf in FreeBSD fail to read the > > > > .ARM.attributes section needed. As armv6 is unsupported on these > > > > versions we can assume we are running on arm. > > > > > > > > > > Picking a random commit: I don't suppose we can just use MACHINE_ARCH > > > for these identifiers? It encapsulates everything needed for > > > compatibility. > > > -Nathan > > > > Yes we probably can, it encapsulates everything since recently! It wasn't > > the > > case when ABI string was defined, and it lacks an important part of why the > > ABI > > string has been designed on pkgng: making a package match multiple arch via > > simple glob on the ABI line. > > > > So as I already said to Warner, Yes now that it properly works on all > > arches we > > could use it but that is not that easy. > > > > People wanting to go that way should: > > 1. provide a way for pkgng to extract MARCHE_ARCH out of a binary (/bin/ls) > > (dynamic cross installation ABI detection) > > 2. provide a way to create multiarch ABI out of MACHINE_ARCH > > 3. provide an upgrade path with compatibility for the current string (pkgng > > is > > already largely deployed) > > 4. have time to do it > > > > There is so much work pending on pkgng, in particular for 10.0 that I just > > have > > no time to work on it. > > We actually had a thread about this on arch@ a while back where I think we did > largely satisfy your concerns. However, one of the open items is to convert > amd64, i386, and pc98 to set MACHINE_CPUARCH to x86 instead of amd64/i386 > (this > would clean up several other things as well). I do think it would be helpful > if pkgng used arch strings that were consistent with MACHINE_ARCH so that the > transition is easier (e.g. x86:i386 and x86:amd64 instead of x86:32 and > x86:64). >
I had followed the discussion but I have missed the commit reflecting that. So I wasn't aware this has been done. I will have a look to integrate it and use it in pkgng, won't be for 10.0 packages, but I'll make it for 11.* packages and probably 10.1. regards, Bapt
pgp8zK8xENPU1.pgp
Description: PGP signature