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. <email@example.com> Imagine a large red swirl here.
Description: Digital signature