Packaging best practices: binary tools in mingw packages

Erik van Pienbroek erik at vanpienbroek.nl
Fri May 10 15:03:07 UTC 2013


Sandro Mani schreef op vr 10-05-2013 om 16:15 [+0200]:

> It would be nice to standardize the practice, I think there are two 
> issues to discuss:
> 1. When should exes be shipped?
> 2. Should they be shipped in the main package, or in a subpackage (i.e. 
> -tools)?

I think we've got multiple kind of executables:
1. Helper executables which are required by the library in question
   to operate, for example: gspawn-win32-helper.exe in glib2
2. Executables which can be used to test the library in question,
   for example: gsettings.exe in glib2 and gtk-demo.exe in gtk+
3. Native executables which generate other files, for example: moc-qt5
   in qt5-qtbase and i686-w64-mingw32-pkg-config in mingw-pkg-config
4. Cross-compiled executables which generate other files, for example
   glib-genmarshal.exe in glib2
5. End-user executables, for example pidgin.exe and firefox.exe

Executables in the last category aren't allowed in Fedora as we're only
supposed to ship packages which are intended for developers. (This
subject dates back from 2009 when the Fedora MinGW SIG was initially
started).

In my opinion I would always place executables from group 1 in the main
package (mingw32-foo/mingw64-foo). Generally I would also place
executables from group 2 in the main package.

Native executables (group 3) must always be bundled in a separate
package because they are arch-specific (while packages containing mingw
binaries are noarch).

I'm not sure what to do with executables from group 4..

Regards,

Erik van Pienbroek





More information about the mingw mailing list