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

Re: Patch for MultiarchCross



On Sat, Apr 02, 2011 at 01:14:28AM -0700, Steve Langasek wrote:
> Hi there,
> 
> On Wed, Mar 23, 2011 at 03:05:53AM +0000, Wookey wrote:
> 
> > The Multiarch specification only covers libraries and does not
> > specifically deal with include files. 
> 
> > To make multiarch useful for cross-building as well as co-installation of
> > libraries we need to install headers to /usr/include/<triplet>, which
> > needs an FHS exception. 
> 
> > Here is a patch to policy to allow that. It could repeat most of the
> > libraries section above but there seemed little point. I'm happy to
> > expand it though if we think that would be helpful.
> 
> > I'm not sure if anything else in policy needs to be adjusted - I
> > didn't see anything obvious. 
> 
> The only thing I wonder is whether we should go farther yet and make this a
> policy recommendation rather than just granting permission... but since
> we're only just now implementing toolchain support for this, I guess that
> might be premature.
> 
> > I would file this as a bug against debian-policy but I don't know
> > whether it should be normative, informative, etc. Advice welcome. 
> 
> Reading the FHS carefully, I see that there is no requirement for headers to
> be installed *directly* under /usr/include, only that they be installed
> *somewhere* under this directory.  And indeed, many packages create
> subdirectories under /usr/include already.  So maybe it's not actually
> needed to override the FHS at all for /usr/include, until the time that
> we want to make this a policy recommendation?
> 
> I.e., I guess this isn't a "normative" bug because we're not actually
> changing any rules; and it's not really "informative" either because we're
> not actually providing much information yet. :)  Do you think there is a
> specific recommendation policy should make right now, or should we defer
> amending policy until the prelim implementation is farther along in
> unstable?

I already made this comment, but I strongly think it should be normative.
Specifically we should mandate that:
1) /usr/include/<triplet> be added to the default hearder search path of <triplet>-gcc.

2) Packages that would install headers in /usr/include/path install them 
in /usr/include/<triplet>/path 

Libraries sometimes provide public headers in sudirectories of /usr/include, but
their documented states that C files should do
#include <path/header.h>
instead  of
#include <header.h>

Requiring the user to pass -I to the compiler should be discouraged.

Cheers,
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 

Attachment: signature.asc
Description: Digital signature


Reply to: