(original) (raw)

changeset: 98175:812e30f67d6e branch: 3.5 user: Steve Dower steve.dower@microsoft.com date: Tue Sep 22 15:03:54 2015 -0700 files: Tools/msi/make_zip.proj Tools/msi/make_zip.py description: Closes #25085 and #25086: Exclude distutils and test directories from embeddable distro. diff -r aa6b9205c120 -r 812e30f67d6e Tools/msi/make_zip.proj --- a/Tools/msi/make_zip.proj Tue Sep 22 14:51:42 2015 -0700 +++ b/Tools/msi/make_zip.proj Tue Sep 22 15:03:54 2015 -0700 @@ -14,6 +14,7 @@python-$(PythonVersion)-embed-$(ArchName) .zip (OutputPath)en−us(OutputPath)\en-us\(OutputPath)enus(TargetName)$(TargetExt)+ rmdir /q/s "$(IntermediateOutputPath)\zip_$(ArchName)" "$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py" (Arguments)−e−o"(Arguments) -e -o "(Arguments)eo"(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a (ArchName)setDOCFILENAME=python(ArchName) set DOC_FILENAME=python(ArchName)setDOCFILENAME=python(PythonVersion).chm @@ -23,6 +24,7 @@ diff -r aa6b9205c120 -r 812e30f67d6e Tools/msi/make_zip.py --- a/Tools/msi/make_zip.py Tue Sep 22 14:51:42 2015 -0700 +++ b/Tools/msi/make_zip.py Tue Sep 22 15:03:54 2015 -0700 @@ -15,6 +15,20 @@ DEBUG_RE = re.compile(r'_d\.(pyd|dll|exe)$', re.IGNORECASE) PYTHON_DLL_RE = re.compile(r'python\d\d?\.dll$', re.IGNORECASE) +EXCLUDE_FROM_LIBRARY = { + '__pycache__', + 'ensurepip', + 'idlelib', + 'pydoc_data', + 'site-packages', + 'tkinter', + 'turtledemo', +} + +EXCLUDE_FILE_FROM_LIBRARY = { + 'bdist_wininst.py', +} + def is_not_debug(p): if DEBUG_RE.search(p.name): return False @@ -37,16 +51,21 @@ def include_in_lib(p): name = p.name.lower() if p.is_dir(): - if name in {'__pycache__', 'ensurepip', 'idlelib', 'pydoc_data', 'tkinter', 'turtledemo'}: + if name in EXCLUDE_FROM_LIBRARY: return False if name.startswith('plat-'): return False if name == 'test' and p.parts[-2].lower() == 'lib': return False + if name in {'test', 'tests'} and p.parts[-3].lower() == 'lib': + return False return True + if name in EXCLUDE_FILE_FROM_LIBRARY: + return False + suffix = p.suffix.lower() - return suffix not in {'.pyc', '.pyo'} + return suffix not in {'.pyc', '.pyo', '.exe'} def include_in_tools(p): if p.is_dir() and p.name.lower() in {'scripts', 'i18n', 'pynche', 'demo', 'parser'}:/steve.dower@microsoft.com