Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f0888cd

Browse files
committed
Issue #28783: Embedded and nuget packages incorrect reference missing bdist_wininst command.
1 parent dab0584 commit f0888cd

2 files changed

Lines changed: 47 additions & 3 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"""distutils.command
2+
3+
Package containing implementation of all the standard Distutils
4+
commands."""
5+
6+
__all__ = ['build',
7+
'build_py',
8+
'build_ext',
9+
'build_clib',
10+
'build_scripts',
11+
'clean',
12+
'install',
13+
'install_lib',
14+
'install_headers',
15+
'install_scripts',
16+
'install_data',
17+
'sdist',
18+
'register',
19+
'bdist',
20+
'bdist_dumb',
21+
'bdist_rpm',
22+
# This command is not included in this package
23+
#'bdist_wininst',
24+
'check',
25+
'upload',
26+
# These two are reserved for future use:
27+
#'bdist_sdux',
28+
#'bdist_pkgtool',
29+
# Note:
30+
# bdist_packager is not included because it only provides
31+
# an abstract base class
32+
]

Tools/msi/make_zip.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import os
88
import tempfile
99

10+
from itertools import chain
1011
from pathlib import Path
1112
from zipfile import ZipFile, ZIP_DEFLATED
1213
import subprocess
@@ -74,6 +75,10 @@ def include_in_lib(p):
7475
if name in EXCLUDE_FILE_FROM_LIBRARY:
7576
return False
7677

78+
# Special code is included below to patch this file back in
79+
if [d.lower() for d in p.parts[-3:]] == ['distutils', 'command', '__init__.py']:
80+
return False
81+
7782
suffix = p.suffix.lower()
7883
return suffix not in {'.pyc', '.pyo', '.exe'}
7984

@@ -203,10 +208,17 @@ def main():
203208
try:
204209
for t, s, p, c in layout:
205210
if s == '$build':
206-
s = build
211+
fs = build
207212
else:
208-
s = source / s
209-
copied = copy_to_layout(temp / t.rstrip('/'), rglob(s, p, c))
213+
fs = source / s
214+
files = rglob(fs, p, c)
215+
extra_files = []
216+
if s == 'Lib' and p == '**/*':
217+
extra_files.append((
218+
source / 'tools' / 'msi' / 'distutils.command.__init__.py',
219+
Path('distutils') / 'command' / '__init__.py'
220+
))
221+
copied = copy_to_layout(temp / t.rstrip('/'), chain(files, extra_files))
210222
print('Copied {} files'.format(copied))
211223

212224
with open(str(temp / 'pyvenv.cfg'), 'w') as f:

0 commit comments

Comments
 (0)