Description of problem:
...which can't be used on a linux system easily
$ rpm -ql -p python-devel-2.7.5-58.el7.x86_64.rpm| grep exe
$ file *.exe
wininst-9.0-amd64.exe: PE32+ executable (GUI) x86-64, for MS Windows
wininst-9.0.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Version-Release number of selected component (if applicable):
No *.exe files are being shipped.
These files are stubs that get included in an archive to build Windows executable installers. (e.g. `python setup.py bdist_wininst`)
Removing them will disable this functionality.
See these Fedora bugs for context:
We can remove these, but I need guidance on the "Windows SDK license issue".
Should these files be removed from the SRPM also, or are they OK there?
ping. Can you please answer?
Debian doesn't distribute wininst*.exe binaries in their python* packages. debian/rules explicitly removes thesee files:
find $(d) -name 'wininst*.exe' | xargs -r rm -f
The PSF is taking way too much time to respond. We need to do this downstream.
On my Fedora 28, "python3 setup.py bdist_wininst" fails early because the code is really written for Windows:
$ python3 setup.py bdist_wininst
Traceback (most recent call last):
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
File "/usr/lib/python3.6/site-packages/setuptools/command/bdist_wininst.py", line 19, in run
File "/usr/lib64/python3.6/distutils/command/bdist_wininst.py", line 179, in run
self.create_exe(arcname, fullname, self.bitmap)
File "/usr/lib64/python3.6/distutils/command/bdist_wininst.py", line 262, in create_exe
cfgdata = cfgdata.encode("mbcs")
LookupError: unknown encoding: mbcs
Removing .exe files from a Linux package is fine since the command never worked anyway on Linux.
Python Software Foundation replied back:
Shipping and distributing these files is ok.
These files are stubs, used as the executable part of a self-unzipping executable and showing an "installer window" to the user. They are original to Python and, while they call win32 functions, they don't have Windows SDK code in them.The source is at: https://github.com/python/cpython/blob/master/PC/bdist_wininst/install.c
The binaries are included so that anyone creating a bdist_wininst distribution (mostly deprecated, actually) can do so, even when cross-compiling.
* we don't need to include the exe files in the built packages
* we don't need to strip them down from the SRPM
On Python 2, bdist_wininst currently works.
We need to provide a good error message, for example:
Support for xreating Windows installers using bdist_wininst was removed for legal reasons. For more information, see https://bugzilla.redhat.com/show_bug.cgi?id=1566459
Remove .exe can break legit applications running on RHEL7, whereas VanL, the PSF Layer, wrote that it's asafe to distribute these .exe files. See the discussion starting at:
Oops, typo: you should read "safe" obviously :-)