mirror of https://github.com/python/cpython
Issue #28783: Embedded and nuget packages incorrect reference missing bdist_wininst command.
This commit is contained in:
parent
dab0584738
commit
f0888cd734
|
@ -0,0 +1,32 @@
|
||||||
|
"""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
|
||||||
|
]
|
|
@ -7,6 +7,7 @@ import stat
|
||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
|
from itertools import chain
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from zipfile import ZipFile, ZIP_DEFLATED
|
from zipfile import ZipFile, ZIP_DEFLATED
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -74,6 +75,10 @@ def include_in_lib(p):
|
||||||
if name in EXCLUDE_FILE_FROM_LIBRARY:
|
if name in EXCLUDE_FILE_FROM_LIBRARY:
|
||||||
return False
|
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()
|
suffix = p.suffix.lower()
|
||||||
return suffix not in {'.pyc', '.pyo', '.exe'}
|
return suffix not in {'.pyc', '.pyo', '.exe'}
|
||||||
|
|
||||||
|
@ -203,10 +208,17 @@ def main():
|
||||||
try:
|
try:
|
||||||
for t, s, p, c in layout:
|
for t, s, p, c in layout:
|
||||||
if s == '$build':
|
if s == '$build':
|
||||||
s = build
|
fs = build
|
||||||
else:
|
else:
|
||||||
s = source / s
|
fs = source / s
|
||||||
copied = copy_to_layout(temp / t.rstrip('/'), rglob(s, p, c))
|
files = rglob(fs, p, c)
|
||||||
|
extra_files = []
|
||||||
|
if s == 'Lib' and p == '**/*':
|
||||||
|
extra_files.append((
|
||||||
|
source / 'tools' / 'msi' / 'distutils.command.__init__.py',
|
||||||
|
Path('distutils') / 'command' / '__init__.py'
|
||||||
|
))
|
||||||
|
copied = copy_to_layout(temp / t.rstrip('/'), chain(files, extra_files))
|
||||||
print('Copied {} files'.format(copied))
|
print('Copied {} files'.format(copied))
|
||||||
|
|
||||||
with open(str(temp / 'pyvenv.cfg'), 'w') as f:
|
with open(str(temp / 'pyvenv.cfg'), 'w') as f:
|
||||||
|
|
Loading…
Reference in New Issue