]> granicus.if.org Git - python/commitdiff
Issue #28783: Replaces bdist_wininst in nuget packages with stub
authorSteve Dower <steve.dower@microsoft.com>
Sun, 11 Dec 2016 22:48:32 +0000 (14:48 -0800)
committerSteve Dower <steve.dower@microsoft.com>
Sun, 11 Dec 2016 22:48:32 +0000 (14:48 -0800)
Tools/msi/distutils.command.__init__.py [deleted file]
Tools/msi/distutils.command.bdist_wininst.py [new file with mode: 0644]
Tools/msi/make_zip.py

diff --git a/Tools/msi/distutils.command.__init__.py b/Tools/msi/distutils.command.__init__.py
deleted file mode 100644 (file)
index 83f34b4..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-"""distutils.command
-
-Package containing implementation of all the standard Distutils
-commands."""
-
-__all__ = ['build',
-           'build_py',
-           'build_ext',
-           'build_clib',
-           'build_scripts',
-           'clean',
-           'install',
-           'install_lib',
-           'install_headers',
-           'install_scripts',
-           'install_data',
-           'sdist',
-           'register',
-           'bdist',
-           'bdist_dumb',
-           'bdist_rpm',
-           # This command is not included in this package
-           #'bdist_wininst',
-           'check',
-           'upload',
-           # These two are reserved for future use:
-           #'bdist_sdux',
-           #'bdist_pkgtool',
-           # Note:
-           # bdist_packager is not included because it only provides
-           # an abstract base class
-          ]
diff --git a/Tools/msi/distutils.command.bdist_wininst.py b/Tools/msi/distutils.command.bdist_wininst.py
new file mode 100644 (file)
index 0000000..d586e34
--- /dev/null
@@ -0,0 +1,20 @@
+"""distutils.command.bdist_wininst
+
+Suppresses the 'bdist_wininst' command, while still allowing
+setuptools to import it without breaking."""
+
+from distutils.core import Command
+from distutils.errors import DistutilsPlatformError
+
+class bdist_wininst(Command):
+    description = "create an executable installer for MS Windows"
+
+    def initialize_options(self):
+        pass
+
+    def finalize_options(self):
+        pass
+
+    def run(self):
+        raise DistutilsPlatformError("bdist_wininst is not supported "
+            "in this Python distribution")
index 09f6fe328f3d6472c4b499e4971290a307c7291f..8dbe83e4f443053cffda0de1d870906428d9a8a2 100644 (file)
@@ -79,10 +79,6 @@ def include_in_lib(p):
     if name in EXCLUDE_FILE_FROM_LIBRARY:
         return False
 
-    # Special code is included below to patch this file back in
-    if [d.lower() for d in p.parts[-3:]] == ['distutils', 'command', '__init__.py']:
-        return False
-
     suffix = p.suffix.lower()
     return suffix not in {'.pyc', '.pyo', '.exe'}
 
@@ -218,8 +214,8 @@ def main():
             extra_files = []
             if s == 'Lib' and p == '**/*':
                 extra_files.append((
-                    source / 'tools' / 'msi' / 'distutils.command.__init__.py',
-                    Path('distutils') / 'command' / '__init__.py'
+                    source / 'tools' / 'msi' / 'distutils.command.bdist_wininst.py',
+                    Path('distutils') / 'command' / 'bdist_wininst.py'
                 ))
             copied = copy_to_layout(temp / t.rstrip('/'), chain(files, extra_files))
             print('Copied {} files'.format(copied))