mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
Merge.
This commit is contained in:
commit
df4fb13cdc
7 changed files with 158 additions and 25 deletions
18
Doc/make.bat
18
Doc/make.bat
|
@ -8,13 +8,17 @@ set this=%~n0
|
||||||
if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build
|
if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build
|
||||||
if "%PYTHON%" EQU "" set PYTHON=py
|
if "%PYTHON%" EQU "" set PYTHON=py
|
||||||
|
|
||||||
if "%HTMLHELP%" EQU "" (
|
if "%1" NEQ "htmlhelp" goto :skiphhcsearch
|
||||||
where hhc 2>nul >"%TEMP%\hhc.loc"
|
if exist "%HTMLHELP%" goto :skiphhcsearch
|
||||||
if errorlevel 1 dir "..\externals\hhc.exe" /s/b > "%TEMP%\hhc.loc"
|
|
||||||
if errorlevel 1 echo Cannot find HHC on PATH or in externals & exit /B 1
|
rem Search for HHC in likely places
|
||||||
set /P HTMLHELP= < "%TEMP%\hhc.loc"
|
set HTMLHELP=
|
||||||
del "%TEMP%\hhc.loc"
|
where hhc /q && set HTMLHELP=hhc && goto :skiphhcsearch
|
||||||
)
|
where /R ..\externals hhc > "%TEMP%\hhc.loc" 2> nul && set /P HTMLHELP= < "%TEMP%\hhc.loc" & del "%TEMP%\hhc.loc"
|
||||||
|
if not exist "%HTMLHELP%" where /R "%ProgramFiles(x86)%" hhc > "%TEMP%\hhc.loc" 2> nul && set /P HTMLHELP= < "%TEMP%\hhc.loc" & del "%TEMP%\hhc.loc"
|
||||||
|
if not exist "%HTMLHELP%" where /R "%ProgramFiles%" hhc > "%TEMP%\hhc.loc" 2> nul && set /P HTMLHELP= < "%TEMP%\hhc.loc" & del "%TEMP%\hhc.loc"
|
||||||
|
if not exist "%HTMLHELP%" echo Cannot find HHC on PATH or in externals & exit /B 1
|
||||||
|
:skiphhcsearch
|
||||||
|
|
||||||
if "%DISTVERSION%" EQU "" for /f "usebackq" %%v in (`%PYTHON% tools/extensions/patchlevel.py`) do set DISTVERSION=%%v
|
if "%DISTVERSION%" EQU "" for /f "usebackq" %%v in (`%PYTHON% tools/extensions/patchlevel.py`) do set DISTVERSION=%%v
|
||||||
|
|
||||||
|
|
|
@ -1143,6 +1143,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
||||||
test/audiodata \
|
test/audiodata \
|
||||||
test/capath test/data \
|
test/capath test/data \
|
||||||
test/cjkencodings test/decimaltestdata test/xmltestdata \
|
test/cjkencodings test/decimaltestdata test/xmltestdata \
|
||||||
|
test/eintrdata \
|
||||||
test/imghdrdata \
|
test/imghdrdata \
|
||||||
test/subprocessdata test/sndhdrdata test/support \
|
test/subprocessdata test/sndhdrdata test/support \
|
||||||
test/tracedmodules test/encoded_modules \
|
test/tracedmodules test/encoded_modules \
|
||||||
|
|
|
@ -22,17 +22,25 @@ set PCBUILD=%D%..\..\PCBuild\
|
||||||
set BUILDX86=
|
set BUILDX86=
|
||||||
set BUILDX64=
|
set BUILDX64=
|
||||||
set TARGET=Rebuild
|
set TARGET=Rebuild
|
||||||
|
set TESTTARGETDIR=
|
||||||
|
|
||||||
|
|
||||||
:CheckOpts
|
:CheckOpts
|
||||||
|
if "%1" EQU "-h" goto Help
|
||||||
if "%1" EQU "-c" (set CERTNAME=%~2) && shift && shift && goto CheckOpts
|
if "%1" EQU "-c" (set CERTNAME=%~2) && shift && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--certificate" (set CERTNAME=%~2) && shift && shift && goto CheckOpts
|
||||||
if "%1" EQU "-o" (set OUTDIR=%~2) && shift && shift && goto CheckOpts
|
if "%1" EQU "-o" (set OUTDIR=%~2) && shift && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--out" (set OUTDIR=%~2) && shift && shift && goto CheckOpts
|
||||||
if "%1" EQU "-D" (set SKIPDOC=1) && shift && goto CheckOpts
|
if "%1" EQU "-D" (set SKIPDOC=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--skip-doc" (set SKIPDOC=1) && shift && goto CheckOpts
|
||||||
if "%1" EQU "-B" (set SKIPBUILD=1) && shift && goto CheckOpts
|
if "%1" EQU "-B" (set SKIPBUILD=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--skip-build" (set SKIPBUILD=1) && shift && goto CheckOpts
|
||||||
if "%1" EQU "--download" (set DOWNLOAD_URL=%~2) && shift && shift && goto CheckOpts
|
if "%1" EQU "--download" (set DOWNLOAD_URL=%~2) && shift && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--test" (set TESTTARGETDIR=%~2) && shift && shift && goto CheckOpts
|
||||||
if "%1" EQU "-b" (set TARGET=Build) && shift && goto CheckOpts
|
if "%1" EQU "-b" (set TARGET=Build) && shift && goto CheckOpts
|
||||||
if '%1' EQU '-x86' (set BUILDX86=1) && shift && goto CheckOpts
|
if "%1" EQU "--build" (set TARGET=Build) && shift && goto CheckOpts
|
||||||
if '%1' EQU '-x64' (set BUILDX64=1) && shift && goto CheckOpts
|
if "%1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts
|
||||||
|
|
||||||
if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1)
|
if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1)
|
||||||
|
|
||||||
|
@ -40,21 +48,21 @@ if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX6
|
||||||
if "%SKIPBUILD%" EQU "1" goto skipdoc
|
if "%SKIPBUILD%" EQU "1" goto skipdoc
|
||||||
if "%SKIPDOC%" EQU "1" goto skipdoc
|
if "%SKIPDOC%" EQU "1" goto skipdoc
|
||||||
|
|
||||||
|
if not defined PYTHON where py -q || echo Cannot find py on path and PYTHON is not set. && exit /B 1
|
||||||
|
if not defined SPHINXBUILD where sphinx-build -q || echo Cannot find sphinx-build on path and SPHINXBUILD is not set. && exit /B 1
|
||||||
call "%D%..\..\doc\make.bat" htmlhelp
|
call "%D%..\..\doc\make.bat" htmlhelp
|
||||||
if errorlevel 1 goto :eof
|
if errorlevel 1 goto :eof
|
||||||
:skipdoc
|
:skipdoc
|
||||||
|
|
||||||
where hg >nul 2>nul
|
where hg /q || echo Cannot find Mercurial on PATH && exit /B 1
|
||||||
if errorlevel 1 echo Cannot find hg on PATH & exit /B 1
|
|
||||||
|
|
||||||
where dlltool 2>nul >"%TEMP%\dlltool.loc"
|
|
||||||
if errorlevel 1 dir "%D%..\..\externals\dlltool.exe" /s/b > "%TEMP%\dlltool.loc"
|
|
||||||
if errorlevel 1 echo Cannot find binutils on PATH or in externals & exit /B 1
|
|
||||||
set /P DLLTOOL= < "%TEMP%\dlltool.loc"
|
|
||||||
set PATH=%PATH%;%DLLTOOL:~,-12%
|
|
||||||
set DLLTOOL=
|
|
||||||
del "%TEMP%\dlltool.loc"
|
|
||||||
|
|
||||||
|
where dlltool /q && goto skipdlltoolsearch
|
||||||
|
set _DLLTOOL_PATH=
|
||||||
|
where /R "%D%..\..\externals" dlltool > "%TEMP%\dlltool.loc" 2> nul && set /P _DLLTOOL_PATH= < "%TEMP%\dlltool.loc" & del "%TEMP%\dlltool.loc"
|
||||||
|
if not exist "%_DLLTOOL_PATH%" echo Cannot find binutils on PATH or in external && exit /B 1
|
||||||
|
for %%f in (%_DLLTOOL_PATH%) do set PATH=%PATH%;%%~dpf
|
||||||
|
set _DLLTOOL_PATH=
|
||||||
|
:skipdlltoolsearch
|
||||||
|
|
||||||
if defined BUILDX86 (
|
if defined BUILDX86 (
|
||||||
call :build x86
|
call :build x86
|
||||||
|
@ -66,6 +74,10 @@ if defined BUILDX64 (
|
||||||
if errorlevel 1 exit /B
|
if errorlevel 1 exit /B
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if defined TESTTARGETDIR (
|
||||||
|
call "%D%testrelease.bat" -t "%TESTTARGETDIR%"
|
||||||
|
)
|
||||||
|
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
|
||||||
:build
|
:build
|
||||||
|
@ -88,14 +100,12 @@ if "%1" EQU "x86" (
|
||||||
set RELEASE_URI=%RELEASE_URI_X64%
|
set RELEASE_URI=%RELEASE_URI_X64%
|
||||||
)
|
)
|
||||||
|
|
||||||
echo on
|
|
||||||
if exist "%BUILD%en-us" (
|
if exist "%BUILD%en-us" (
|
||||||
echo Deleting %BUILD%en-us
|
echo Deleting %BUILD%en-us
|
||||||
rmdir /q/s "%BUILD%en-us"
|
rmdir /q/s "%BUILD%en-us"
|
||||||
if errorlevel 1 exit /B
|
if errorlevel 1 exit /B
|
||||||
)
|
)
|
||||||
|
|
||||||
echo on
|
|
||||||
if exist "%D%obj\Release_%OBJDIR_PLAT%" (
|
if exist "%D%obj\Release_%OBJDIR_PLAT%" (
|
||||||
echo Deleting "%D%obj\Release_%OBJDIR_PLAT%"
|
echo Deleting "%D%obj\Release_%OBJDIR_PLAT%"
|
||||||
rmdir /q/s "%D%obj\Release_%OBJDIR_PLAT%"
|
rmdir /q/s "%D%obj\Release_%OBJDIR_PLAT%"
|
||||||
|
@ -132,3 +142,22 @@ if not "%OUTDIR%" EQU "" (
|
||||||
copy /Y "%BUILD%en-us\*.msi" "%OUTDIR%\%OUTDIR_PLAT%"
|
copy /Y "%BUILD%en-us\*.msi" "%OUTDIR%\%OUTDIR_PLAT%"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:Help
|
||||||
|
echo buildrelease.bat [--out DIR] [-x86] [-x64] [--certificate CERTNAME] [--build] [--skip-build]
|
||||||
|
echo [--skip-doc] [--download DOWNLOAD URL] [--test TARGETDIR] [-h]
|
||||||
|
echo.
|
||||||
|
echo --out (-o) Specify an additional output directory for installers
|
||||||
|
echo -x86 Build x86 installers
|
||||||
|
echo -x64 Build x64 installers
|
||||||
|
echo --build (-b) Incrementally build Python rather than rebuilding
|
||||||
|
echo --skip-build (-B) Do not build Python (just do the installers)
|
||||||
|
echo --skip-doc (-D) Do not build documentation
|
||||||
|
echo --download Specify the full download URL for MSIs (should include {2})
|
||||||
|
echo --test Specify the test directory to run the installer tests
|
||||||
|
echo -h Display this help information
|
||||||
|
echo.
|
||||||
|
echo If no architecture is specified, all architectures will be built.
|
||||||
|
echo If --test is not specified, the installer tests are not run.
|
||||||
|
echo.
|
|
@ -14,8 +14,8 @@
|
||||||
<OutputPath>$(OutputPath)en-us\</OutputPath>
|
<OutputPath>$(OutputPath)en-us\</OutputPath>
|
||||||
<OutDir>$(OutputPath)</OutDir>
|
<OutDir>$(OutputPath)</OutDir>
|
||||||
|
|
||||||
<DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/$(PythonVersion)/$(ArchName)/{2}</DownloadUrl>
|
<DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)/$(ArchName)$(ReleaseLevelName)/</DownloadUrl>
|
||||||
<DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl)</DefineConstants>
|
<DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl){2}</DefineConstants>
|
||||||
<DefineConstants Condition="'$(DownloadUrl)' == ''">$(DefineConstants);DownloadUrl={2}</DefineConstants>
|
<DefineConstants Condition="'$(DownloadUrl)' == ''">$(DefineConstants);DownloadUrl={2}</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ if not EXTERNALS_DIR:
|
||||||
print("Cannot find project root")
|
print("Cannot find project root")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
WIX_BINARIES_ZIP = 'http://wixtoolset.org/downloads/v3.10.1124.0/wix310-binaries.zip'
|
WIX_BINARIES_ZIP = 'http://wixtoolset.org/downloads/v3.10.0.1403/wix310-binaries.zip'
|
||||||
TARGET_BIN_ZIP = EXTERNALS_DIR / "wix.zip"
|
TARGET_BIN_ZIP = EXTERNALS_DIR / "wix.zip"
|
||||||
TARGET_BIN_DIR = EXTERNALS_DIR / "wix"
|
TARGET_BIN_DIR = EXTERNALS_DIR / "wix"
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,6 @@
|
||||||
MajorVersionNumber=$(MajorVersionNumber);
|
MajorVersionNumber=$(MajorVersionNumber);
|
||||||
MinorVersionNumber=$(MinorVersionNumber);
|
MinorVersionNumber=$(MinorVersionNumber);
|
||||||
UpgradeMinimumVersion=$(MajorVersionNumber).$(MinorVersionNumber).0.0;
|
UpgradeMinimumVersion=$(MajorVersionNumber).$(MinorVersionNumber).0.0;
|
||||||
UpgradeMaximumVersion=$(MajorVersionNumber).$(MinorVersionNumber).150.0;
|
|
||||||
NextMajorVersionNumber=$(MajorVersionNumber).$([msbuild]::Add($(MinorVersionNumber), 1)).0.0;
|
NextMajorVersionNumber=$(MajorVersionNumber).$([msbuild]::Add($(MinorVersionNumber), 1)).0.0;
|
||||||
PyDebugExt=$(PyDebugExt);
|
PyDebugExt=$(PyDebugExt);
|
||||||
</DefineConstants>
|
</DefineConstants>
|
||||||
|
|
100
Tools/msi/testrelease.bat
Normal file
100
Tools/msi/testrelease.bat
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
@setlocal
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
set D=%~dp0
|
||||||
|
set PCBUILD=%D%..\..\PCBuild\
|
||||||
|
|
||||||
|
set TARGETDIR=%TEMP%
|
||||||
|
set TESTX86=
|
||||||
|
set TESTX64=
|
||||||
|
set TESTALLUSER=
|
||||||
|
set TESTPERUSER=
|
||||||
|
|
||||||
|
:CheckOpts
|
||||||
|
if "%1" EQU "-h" goto Help
|
||||||
|
if "%1" EQU "-x86" (set TESTX86=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "-x64" (set TESTX64=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "-t" (set TARGETDIR=%~2) && shift && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--target" (set TARGETDIR=%~2) && shift && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "-a" (set TESTALLUSER=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--alluser" (set TESTALLUSER=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "-p" (set TESTPERUSER=1) && shift && goto CheckOpts
|
||||||
|
if "%1" EQU "--peruser" (set TESTPERUSER=1) && shift && goto CheckOpts
|
||||||
|
|
||||||
|
if not defined TESTX86 if not defined TESTX64 (set TESTX86=1) && (set TESTX64=1)
|
||||||
|
if not defined TESTALLUSER if not defined TESTPERUSER (set TESTALLUSER=1) && (set TESTPERUSER=1)
|
||||||
|
|
||||||
|
|
||||||
|
if defined TESTX86 (
|
||||||
|
for %%f in ("%PCBUILD%win32\en-us\*.exe") do (
|
||||||
|
if defined TESTALLUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-alluser" "InstallAllUsers=1 CompileAll=1"
|
||||||
|
if errorlevel 1 exit /B
|
||||||
|
if defined TESTPERUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-peruser" "InstallAllUsers=0 CompileAll=0"
|
||||||
|
if errorlevel 1 exit /B
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined TESTX64 (
|
||||||
|
for %%f in ("%PCBUILD%amd64\en-us\*.exe") do (
|
||||||
|
if defined TESTALLUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-alluser" "InstallAllUsers=1 CompileAll=1"
|
||||||
|
if errorlevel 1 exit /B
|
||||||
|
if defined TESTPERUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-peruser" "InstallAllUsers=0 CompileAll=0"
|
||||||
|
if errorlevel 1 exit /B
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:test
|
||||||
|
@setlocal
|
||||||
|
@echo on
|
||||||
|
|
||||||
|
@if not exist "%~1" exit /B 1
|
||||||
|
|
||||||
|
@set EXITCODE=0
|
||||||
|
@echo Installing %1 into %2
|
||||||
|
"%~1" /passive /log "%~2\install\log.txt" TargetDir="%~2\Python" Include_debug=1 Include_symbols=1 %~3
|
||||||
|
|
||||||
|
@if not errorlevel 1 (
|
||||||
|
@echo Printing version
|
||||||
|
"%~2\Python\python.exe" -c "import sys; print(sys.version)" > "%~2\version.txt" 2>&1
|
||||||
|
)
|
||||||
|
@if not errorlevel 1 (
|
||||||
|
@echo Installing package
|
||||||
|
"%~2\Python\python.exe" -m pip install azure > "%~2\pip.txt" 2>&1
|
||||||
|
@if not errorlevel 1 (
|
||||||
|
"%~2\Python\python.exe" -m pip uninstall -y azure python-dateutil six >> "%~2\pip.txt" 2>&1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
@if not errorlevel 1 (
|
||||||
|
@echo Testing Tcl/tk
|
||||||
|
@set TCL_LIBRARY=%~2\Python\tcl\tcl8.6
|
||||||
|
"%~2\Python\python.exe" -m test -uall -v test_ttk_guionly test_tk test_idle > "%~2\tcltk.txt" 2>&1
|
||||||
|
@set TCL_LIBRARY=
|
||||||
|
)
|
||||||
|
|
||||||
|
@set EXITCODE=%ERRORLEVEL%
|
||||||
|
|
||||||
|
@for /d %%f in ("%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Python*") do @dir "%%~ff\*.lnk" /s/b > "%~2\startmenu.txt" 2>&1
|
||||||
|
@for /d %%f in ("%APPDATA%\Microsoft\Windows\Start Menu\Programs\Python*") do @dir "%%~ff\*.lnk" /s/b >> "%~2\startmenu.txt" 2>&1
|
||||||
|
|
||||||
|
@echo Result was %EXITCODE%
|
||||||
|
@echo Removing %1
|
||||||
|
"%~1" /passive /uninstall /log "%~2\uninstall\log.txt"
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
exit /B %EXITCODE%
|
||||||
|
|
||||||
|
:Help
|
||||||
|
echo testrelease.bat [--target TARGET] [-x86] [-x64] [--alluser] [--peruser] [-h]
|
||||||
|
echo.
|
||||||
|
echo --target (-t) Specify the target directory for installs and logs
|
||||||
|
echo -x86 Run tests for x86 installers
|
||||||
|
echo -x64 Run tests for x64 installers
|
||||||
|
echo --alluser (-a) Run tests for all-user installs (requires Administrator)
|
||||||
|
echo --peruser (-p) Run tests for per-user installs
|
||||||
|
echo -h Display this help information
|
||||||
|
echo.
|
||||||
|
echo If no test architecture is specified, all architectures will be tested.
|
||||||
|
echo If no install type is selected, all install types will be tested.
|
||||||
|
echo.
|
Loading…
Add table
Add a link
Reference in a new issue