svn commit: r255457 - head/usr.sbin/pkg

Baptiste Daroussin bapt at freebsd.org
Thu Sep 12 06:03:54 UTC 2013


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20130912/dc61b35b/attachment.sig>


More information about the svn-src-all mailing list