]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39586: Deprecate distutils bdist_msi command (GH-18415)
authorHugo van Kemenade <hugovk@users.noreply.github.com>
Mon, 10 Feb 2020 13:26:40 +0000 (15:26 +0200)
committerGitHub <noreply@github.com>
Mon, 10 Feb 2020 13:26:40 +0000 (14:26 +0100)
Doc/distutils/apiref.rst
Doc/distutils/builtdist.rst
Doc/whatsnew/3.9.rst
Lib/distutils/command/bdist_msi.py
Lib/distutils/tests/test_bdist_msi.py
Misc/ACKS
Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst [new file with mode: 0644]

index 12e0c0b2c9757f4ec2d503e9b2b7c3c7f1d998cb..b14197c2f94dbabfb57884a6b29dc009f2dae896 100644 (file)
@@ -1855,6 +1855,9 @@ Subclasses of :class:`Command` must define the following methods.
 
 .. class:: bdist_msi
 
+.. deprecated:: 3.9
+   Use bdist_wheel (wheel packages) instead.
+
    Builds a `Windows Installer`_ (.msi) binary package.
 
    .. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx
index b814f2e9508c9cab049f5bb11059e83a8c63a032..e032c03e229a5cbca6a789c27fab6903ff15638e 100644 (file)
@@ -149,6 +149,9 @@ generated by each, are:
 .. note::
    bdist_wininst is deprecated since Python 3.8.
 
+.. note::
+   bdist_msi is deprecated since Python 3.9.
+
 The following sections give details on the individual :command:`bdist_\*`
 commands.
 
@@ -304,6 +307,9 @@ Creating Windows Installers
 .. warning::
    bdist_wininst is deprecated since Python 3.8.
 
+.. warning::
+   bdist_msi is deprecated since Python 3.9.
+
 Executable installers are the natural format for binary distributions on
 Windows.  They display a nice graphical user interface, display some information
 about the module distribution to be installed taken from the metadata in the
@@ -468,3 +474,6 @@ installed for all users) and 'force' (meaning always prompt for elevation).
 
 .. note::
    bdist_wininst is deprecated since Python 3.8.
+
+.. note::
+   bdist_msi is deprecated since Python 3.9.
index 4991e56759b1c2b6c71ac7b8753e58715b3db813..4f4c7f2808d0179162f2976ddda569f8e7c7cc91 100644 (file)
@@ -398,6 +398,10 @@ Build and C API Changes
 Deprecated
 ==========
 
+* The distutils ``bdist_msi`` command is now deprecated, use
+  ``bdist_wheel`` (wheel packages) instead.
+  (Contributed by Hugo van Kemenade in :issue:`39586`.)
+
 * Currently :func:`math.factorial` accepts :class:`float` instances with
   non-negative integer values (like ``5.0``).  It raises a :exc:`ValueError`
   for non-integral and negative floats.  It is now deprecated.  In future
index f335a34898620e5ff9c47df66170113e30f49e3b..0863a1883e72058a8701a946c644276f047f837e 100644 (file)
@@ -6,7 +6,9 @@
 Implements the bdist_msi command.
 """
 
-import sys, os
+import os
+import sys
+import warnings
 from distutils.core import Command
 from distutils.dir_util import remove_tree
 from distutils.sysconfig import get_python_version
@@ -122,6 +124,12 @@ class bdist_msi(Command):
                     '3.5', '3.6', '3.7', '3.8', '3.9']
     other_version = 'X'
 
+    def __init__(self, *args, **kw):
+        super().__init__(*args, **kw)
+        warnings.warn("bdist_msi command is deprecated since Python 3.9, "
+                      "use bdist_wheel (wheel packages) instead",
+                      DeprecationWarning, 2)
+
     def initialize_options(self):
         self.bdist_dir = None
         self.plat_name = None
index 15d8bdff2b4f559fc359ceb67c5b1cf13d6bc23d..418e60ec7297790ddf1aede31f89f181d66bead9 100644 (file)
@@ -1,7 +1,7 @@
 """Tests for distutils.command.bdist_msi."""
 import sys
 import unittest
-from test.support import run_unittest
+from test.support import run_unittest, check_warnings
 from distutils.tests import support
 
 
@@ -14,7 +14,8 @@ class BDistMSITestCase(support.TempdirManager,
         # minimal test XXX need more tests
         from distutils.command.bdist_msi import bdist_msi
         project_dir, dist = self.create_dist()
-        cmd = bdist_msi(dist)
+        with check_warnings(("", DeprecationWarning)):
+            cmd = bdist_msi(dist)
         cmd.ensure_finalized()
 
 
index f3e368078124d728aa329defc6d3d706ffef5836..5a779833e68be4b37589772e5e8780e6cb105f47 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -843,6 +843,7 @@ Dmitry Kazakov
 Brian Kearns
 Sebastien Keim
 Ryan Kelly
+Hugo van Kemenade
 Dan Kenigsberg
 Randall Kern
 Robert Kern
diff --git a/Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst b/Misc/NEWS.d/next/Library/2020-02-08-13-37-00.bpo-39586.nfTPxX.rst
new file mode 100644 (file)
index 0000000..5189f13
--- /dev/null
@@ -0,0 +1,2 @@
+The distutils ``bdist_msi`` command is deprecated in Python 3.9, use
+``bdist_wheel`` (wheel packages) instead.
\ No newline at end of file