[Python-checkins] bpo-10945: Drop support for bdist_wininst on non-Windows systems (GH-14506)

Victor Stinner webhook-mailer at python.org
Mon Jul 1 08:12:44 EDT 2019


https://github.com/python/cpython/commit/72cd653c4ed7a4f8f8fb06ac364b08a97085a2b5
commit: 72cd653c4ed7a4f8f8fb06ac364b08a97085a2b5
branch: master
author: Miro Hrončok <miro at hroncok.cz>
committer: Victor Stinner <vstinner at redhat.com>
date: 2019-07-01T14:12:40+02:00
summary:

bpo-10945: Drop support for bdist_wininst on non-Windows systems (GH-14506)

bdist_wininst depends on MBCS codec, unavailable on non-Windows,
and bdist_wininst have not worked since at least Python 3.2, possibly
never on Python 3.

Here we document that bdist_wininst is only supported on Windows,
and we mark it unsupported otherwise to skip tests.

Distributors of Python 3 can now safely drop the bdist_wininst .exe files
without the need to skip bdist_wininst related tests.

files:
A Misc/NEWS.d/next/Windows/2019-07-01-12-38-48.bpo-10945.s0YBHG.rst
M Doc/distutils/builtdist.rst
M Lib/distutils/command/bdist_wininst.py

diff --git a/Doc/distutils/builtdist.rst b/Doc/distutils/builtdist.rst
index f44d0d039f45..8c65d9d59118 100644
--- a/Doc/distutils/builtdist.rst
+++ b/Doc/distutils/builtdist.rst
@@ -315,8 +315,8 @@ or the :command:`bdist` command with the :option:`!--formats` option::
 
 If you have a pure module distribution (only containing pure Python modules and
 packages), the resulting installer will be version independent and have a name
-like :file:`foo-1.0.win32.exe`.  These installers can even be created on Unix
-platforms or Mac OS X.
+like :file:`foo-1.0.win32.exe`. Note that creating ``wininst`` binary
+distributions in only supported on Windows systems.
 
 If you have a non-pure distribution, the extensions can only be created on a
 Windows platform, and will be Python version dependent. The installer filename
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py
index 3a616883bee5..acaa184b5f71 100644
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
@@ -55,6 +55,9 @@ class bdist_wininst(Command):
     boolean_options = ['keep-temp', 'no-target-compile', 'no-target-optimize',
                        'skip-build']
 
+    # bpo-10945: bdist_wininst requires mbcs encoding only available on Windows
+    _unsupported = (sys.platform != "win32")
+
     def initialize_options(self):
         self.bdist_dir = None
         self.plat_name = None
diff --git a/Misc/NEWS.d/next/Windows/2019-07-01-12-38-48.bpo-10945.s0YBHG.rst b/Misc/NEWS.d/next/Windows/2019-07-01-12-38-48.bpo-10945.s0YBHG.rst
new file mode 100644
index 000000000000..d39576545efa
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-07-01-12-38-48.bpo-10945.s0YBHG.rst
@@ -0,0 +1,2 @@
+Officially drop support for creating bdist_wininst installers on non-Windows
+systems.



More information about the Python-checkins mailing list