Makes embedded distribution a plain ZIP file and corrects pyd exclusion.

This commit is contained in:
Steve Dower 2015-05-02 15:32:14 -07:00
parent 19694abd71
commit 6b4c63dea5
2 changed files with 16 additions and 12 deletions

View File

@ -9,8 +9,9 @@
<Import Project="msi.props" /> <Import Project="msi.props" />
<PropertyGroup> <PropertyGroup>
<SignOutput>false</SignOutput>
<TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName> <TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName>
<TargetExt>.exe</TargetExt> <TargetExt>.zip</TargetExt>
<TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath> <TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath>
<Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments> <Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments>
<Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName)</Arguments> <Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName)</Arguments>

View File

@ -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) PYTHON_DLL_RE = re.compile(r'python\d\d?\.dll$', re.IGNORECASE)
def is_not_debug(p): 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): def is_not_debug_or_python(p):
return is_not_debug(p) and not PYTHON_DLL_RE.search(p.name) return is_not_debug(p) and not PYTHON_DLL_RE.search(p.name)
@ -31,14 +43,6 @@ def include_in_lib(p):
return True return True
suffix = p.suffix.lower() 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'} return suffix not in {'.pyc', '.pyo'}
def include_in_tools(p): def include_in_tools(p):
@ -153,8 +157,7 @@ def main():
subprocess.check_call([ subprocess.check_call([
str(rar), str(rar),
"a", "a",
"-m5", "-ed", "-ep1", "-s", "-r", "-ed", "-ep1", "-s", "-r",
"-sfxwincon.sfx",
str(out), str(out),
str(temp / '*') str(temp / '*')
]) ])