From 6b4c63dea5a1e470849a6925c1b29faea2b01636 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Sat, 2 May 2015 15:32:14 -0700 Subject: [PATCH] Makes embedded distribution a plain ZIP file and corrects pyd exclusion. --- Tools/msi/make_zip.proj | 3 ++- Tools/msi/make_zip.py | 25 ++++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Tools/msi/make_zip.proj b/Tools/msi/make_zip.proj index d47de88335b..a0f461a71db 100644 --- a/Tools/msi/make_zip.proj +++ b/Tools/msi/make_zip.proj @@ -9,8 +9,9 @@ + false python-$(PythonVersion)-embed-$(ArchName) - .exe + .zip $(OutputPath)\en-us\$(TargetName)$(TargetExt) "$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py" $(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName) diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py index 56d6f3807b3..368b4ec8f04 100644 --- a/Tools/msi/make_zip.py +++ b/Tools/msi/make_zip.py @@ -14,7 +14,19 @@ DEBUG_RE = re.compile(r'_d\.(pyd|dll|exe)$', re.IGNORECASE) PYTHON_DLL_RE = re.compile(r'python\d\d?\.dll$', re.IGNORECASE) def is_not_debug(p): - return not DEBUG_RE.search(p.name) and not TKTCL_RE.search(p.name) + if DEBUG_RE.search(p.name): + return False + + if TKTCL_RE.search(p.name): + return False + + return p.name.lower() not in { + '_ctypes_test.pyd', + '_testbuffer.pyd', + '_testcapi.pyd', + '_testimportmultiple.pyd', + 'xxlimited.pyd', + } def is_not_debug_or_python(p): return is_not_debug(p) and not PYTHON_DLL_RE.search(p.name) @@ -31,14 +43,6 @@ def include_in_lib(p): return True suffix = p.suffix.lower() - if suffix == '.pyd': - return name not in { - '_ctypes_test.pyd', - '_testbuffer.pyd', - '_testcapi.pyd', - '_testimportmultiple.pyd', - 'xxlimited.pyd', - } return suffix not in {'.pyc', '.pyo'} def include_in_tools(p): @@ -153,8 +157,7 @@ def main(): subprocess.check_call([ str(rar), "a", - "-m5", "-ed", "-ep1", "-s", "-r", - "-sfxwincon.sfx", + "-ed", "-ep1", "-s", "-r", str(out), str(temp / '*') ])