[pkg-gnupg-maint] shipping libraries in debian for use when cross-building with mingw-w64-i686-dev (for win32-loader)

Daniel Kahn Gillmor dkg at fifthhorseman.net
Sun Feb 14 16:40:29 UTC 2016


Hi Stephen and the d-i installer team--

(and hi Andreas, cc'ed here as libgcrypt maintainer in debian)

I'm trying to sort out the cross-building toolchain in debian for making
windows binaries, for the sake of making things that will contribute to
win32-loader.

My main question is: when shipping cross-built libraries (.dll, .dll.a,
.la, and .a files) and header files for use on debian by other
cross-builders targetting win32, where do you think those libraries
should be placed in the filesystem?  I see two options:

 0) /usr/i686-w64-mingw32

This is where a bunch of dll's and header files already shipped by
mingw-w64-i686-dev live.

/usr/share/lintian/overrides/mingw-w64-i686-dev says in part:

> # For now files are in /usr/${target}
> mingw-w64-i686-dev: file-in-unusual-dir
> mingw-w64-i686-dev: non-standard-dir-in-usr

I'm not sure what the "For now" is about.  is there a larger plan?

 1) /usr/share/win32

This is currently where the files that target win32-loader live, like
gzip-win32 and cpio-win32.  It's possible that this is only desirable
for the final .exe files produced for win32-loader, and that it should
not be used for the "intermediate" products like win32 libraries.


Do you have a preference?  Do you see other options?  Is any of this
documented somewhere i should read up on?


Background: i'm currently working on updating gpgv-win32 to build it
From the "modern" GnuPG suite (2.1.x) instead of the "classic" suite
(1.4.x).  Unlike the classic suite, the modern suite depends on a small
number of libraries that themselves need to be cross-built and available
before gpgv.exe can be linked.  I plan to build gpgv.exe statically so
that win32-loader doesn't have to deal with any dll's explicitly, but to
do that i want to make sure that we have the underlying libraries
packaged and available properly.

At the minimum, this will include win32 builds for:

 * libgpg-error
 * libgcrypt

And it might be simplest for the overall process of producing gpgv.exe
From 2.1.x to produce win32 builds for (even though gpgv itself doesn't
depend on them):

 * libassuan
 * libksba

I'm preparing all the source changes needed for these -- i'll file bugs
with patches for the ones handled by Andreas, but i want to be sure that
i'm putting things in the right place.

any thoughts?

    --dkg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 948 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20160214/f4a69018/attachment.sig>


More information about the pkg-gnupg-maint mailing list