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

Patch for MultiarchCross

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. 

This change is really useful as multiarch should enormously simplify
cross-building because paths don't change betwwen build-time and
install time, and each architecture has a canonical path so, avoiding
a whole host of problems. Whilst we are messing with everything for
the multiarch library changes it makes sense to do the include file
changes at the same time.

Details of the multiarch cross-build stuff are here:

I would file this as a bug against debian-policy but I don't know
whether it should be normative, informative, etc. Advice welcome. 

Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
diff -urN debian-policy- debian-policy-
--- debian-policy-	2010-07-26 05:44:57.000000000 +0100
+++ debian-policy-	2011-03-23 00:39:02.516268371 +0000
@@ -5963,6 +5963,16 @@
+		  The requirement for header files to be located
+		  directly under <file>/usr/include</file> is amended,
+		  permitting files instead to be installed to
+		  <file>/usr/include/<var>triplet</var></file>, in a
+		  corresponding way to the behaviour for libraries, as
+		  above. 
+                </p>
+              </item>
+              <item>
+                <p>
                   The requirement that
                   <file>/usr/local/share/man</file> be "synonymous"
                   with <file>/usr/local/man</file> is relaxed to a

Reply to: