summaryrefslogtreecommitdiffstats
path: root/Tools/msi
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-05-03 04:38:26 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-05-03 04:38:26 (GMT)
commit8c1cee92188872d860784c81dae54ca9d424a1e9 (patch)
treee14e1051cd1e5ac2f9da497f1e7703c259b913c6 /Tools/msi
parent88abdef02b33774e7d675a7cc47a9b2567a41921 (diff)
downloadcpython-8c1cee92188872d860784c81dae54ca9d424a1e9.zip
cpython-8c1cee92188872d860784c81dae54ca9d424a1e9.tar.gz
cpython-8c1cee92188872d860784c81dae54ca9d424a1e9.tar.bz2
Replaces use of WinRAR to generate ZIP file with Python script
Diffstat (limited to 'Tools/msi')
-rw-r--r--Tools/msi/buildrelease.bat9
-rw-r--r--Tools/msi/make_zip.proj1
-rw-r--r--Tools/msi/make_zip.py18
-rw-r--r--Tools/msi/uploadrelease.proj2
4 files changed, 6 insertions, 24 deletions
diff --git a/Tools/msi/buildrelease.bat b/Tools/msi/buildrelease.bat
index 21ce863..2e73f8f 100644
--- a/Tools/msi/buildrelease.bat
+++ b/Tools/msi/buildrelease.bat
@@ -64,13 +64,6 @@ for %%f in (%_DLLTOOL_PATH%) do set PATH=%PATH%;%%~dpf
set _DLLTOOL_PATH=
:skipdlltoolsearch
-where rar /q && goto skiprarsearch
-set _RAR_PATH=
-where /R "%ProgramFiles%\WinRAR" rar > "%TEMP%\rar.loc" 2> nul && set /P _RAR_PATH= < "%TEMP%\rar.loc" & del "%TEMP%\rar.loc"
-where /R "%ProgramFiles(x86)%\WinRAR" rar > "%TEMP%\rar.loc" 2> nul && set /P _RAR_PATH= < "%TEMP%\rar.loc" & del "%TEMP%\rar.loc"
-if not exist "%_RAR_PATH%" echo Cannot find WinRAR on PATH or in external && pause
-:skiprarsearch
-
if defined BUILDX86 (
call :build x86
if errorlevel 1 exit /B
@@ -142,7 +135,7 @@ if errorlevel 1 exit /B
msbuild "%D%bundle\releaseweb.wixproj" /t:Rebuild %BUILDOPTS% %CERTOPTS% /p:RebuildAll=false
if errorlevel 1 exit /B
-if defined _RAR_PATH msbuild "%D%make_zip.proj" /t:Build %BUILDOPTS% %CERTOPTS% "/p:RAR=%_RAR_PATH%"
+msbuild "%D%make_zip.proj" /t:Build %BUILDOPTS% %CERTOPTS%
if not "%OUTDIR%" EQU "" (
mkdir "%OUTDIR%\%OUTDIR_PLAT%"
diff --git a/Tools/msi/make_zip.proj b/Tools/msi/make_zip.proj
index a0f461a..4f9986e 100644
--- a/Tools/msi/make_zip.proj
+++ b/Tools/msi/make_zip.proj
@@ -15,7 +15,6 @@
<TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath>
<Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments>
<Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName)</Arguments>
- <Arguments Condition="Exists('$(RAR)')">$(Arguments) --rar "$(RAR)"</Arguments>
<Environment>set DOC_FILENAME=python$(PythonVersion).chm</Environment>
</PropertyGroup>
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index 368b4ec..72ec280 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -72,7 +72,7 @@ EMBED_LAYOUT = [
('python35.zip', 'Lib', '**/*', include_in_lib),
]
-def copy_to_layout(target, source, rel_sources):
+def copy_to_layout(target, rel_sources):
count = 0
if target.suffix.lower() == '.zip':
@@ -146,21 +146,11 @@ def main():
try:
for t, s, p, c in layout:
s = source / s.replace("$arch", arch)
- copied = copy_to_layout(
- temp / t.rstrip('/'),
- source,
- rglob(s, p, c)
- )
+ copied = copy_to_layout(temp / t.rstrip('/'), rglob(s, p, c))
print('Copied {} files'.format(copied))
- if rar and rar.is_file():
- subprocess.check_call([
- str(rar),
- "a",
- "-ed", "-ep1", "-s", "-r",
- str(out),
- str(temp / '*')
- ])
+ total = copy_to_layout(out, rglob(temp, '*', None))
+ print('Wrote {} files to {}'.format(total, out))
finally:
if delete_temp:
shutil.rmtree(temp, True)
diff --git a/Tools/msi/uploadrelease.proj b/Tools/msi/uploadrelease.proj
index dea3756..ec4ede5 100644
--- a/Tools/msi/uploadrelease.proj
+++ b/Tools/msi/uploadrelease.proj
@@ -23,7 +23,7 @@
<File Include="$(OutputPath)\*.msi;$(OutputPath)\*.msu">
<CopyTo>$(MSITarget)</CopyTo>
</File>
- <File Include="$(OutputPath)\*.exe">
+ <File Include="$(OutputPath)\*.exe;$(OutputPath)\*.zip">
<CopyTo>$(EXETarget)</CopyTo>
</File>
<File Include="$(PySourcePath)Doc\build\htmlhelp\python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm" Condition="$(IncludeDoc)">