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

Multiarch, policy and cross-compiler libraries for non-Debian architectures


Now that multiarch is here, I've been wondering whether and how it applies to
cross-compiler libraries for non-Debian architectures, for example Microsoft
Windows (I'm the new maintainer of mingw-w64). As I understand it, multiarch
wasn't intended for non-Debian architectures, and this is (indirectly)
reflected in policy (9.1.1 point 3 for example).

It seems to me though that it would be nice to follow the multiarch directory
structure for cross-compilers to non-Debian architectures (basically,
anything for which there is no valid "Architecture" field value for a Debian
package). Thus for example mingw-w64-dev would install headers
in /usr/include/{i686,x86_64}-w64-mingw32 and libraries
in /usr/lib/{i686,x86_64}-w64-mingw32 instead of the
current /usr/{i686,x86_64}-w64-mingw32/{include,lib} (which isn't
FHS-compliant, and thus isn't policy compliant either since section 9.1.1
is based on the FHS).

Unfortunately this appears to go against policy 9.1.1, which forbids packages
installing files into triplet-based directories under /usr/lib other
than /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH). Since the files I'm
thinking of aren't usable on any Debian architecture, they're provided as
"Architecture: all" packages and don't have a corresponding

Would it be acceptable to introduce an exception to policy allowing this?
Something along the lines of 

        An exception is granted for `Architecture: all' packages containing
        libraries targeting platforms for which there is no Debian
        architecture. Such packages may use their traditional triplet as
        recognised by binutils and gcc.

(The phrasing is certainly not perfect; this ends up being an exception to an

Policy also doesn't mention /usr/include/<triplet>; I saw that possibility
referred to in http://bugs.debian.org/542865.

I'd appreciate your thoughts!



PS. I realise some may find it odd to spend time on Windows support in
Debian, but it does come in handy, for instance for newer versions of Wine,
or for Windows versions of some tools used to install Debian from a Windows

Attachment: signature.asc
Description: PGP signature

Reply to: