Issue #28846: Various installer fixes

This commit is contained in:
Steve Dower 2016-12-03 11:18:53 -08:00
parent 2d397dc44b
commit 190dbd9ba2
6 changed files with 24 additions and 12 deletions

View File

@ -105,6 +105,9 @@ if "%platf%"=="x64" (
) )
) )
if not exist "%HG%" where hg > "%TEMP%\hg.loc" 2> nul && set /P HG= < "%TEMP%\hg.loc" & del "%TEMP%\hg.loc"
if not exist "%HG%" echo Cannot find Mercurial on PATH && exit /B 1
rem Setup the environment rem Setup the environment
call "%dir%env.bat" %vs_platf% >nul call "%dir%env.bat" %vs_platf% >nul
@ -142,6 +145,7 @@ msbuild "%dir%pcbuild.proj" /t:%target% %parallel% %verbose%^
/p:IncludeExternals=%IncludeExternals%^ /p:IncludeExternals=%IncludeExternals%^
/p:IncludeSSL=%IncludeSSL% /p:IncludeTkinter=%IncludeTkinter%^ /p:IncludeSSL=%IncludeSSL% /p:IncludeTkinter=%IncludeTkinter%^
/p:UseTestMarker=%UseTestMarker%^ /p:UseTestMarker=%UseTestMarker%^
/p:HG="%HG%"^
%1 %2 %3 %4 %5 %6 %7 %8 %9 %1 %2 %3 %4 %5 %6 %7 %8 %9
@echo off @echo off

View File

@ -399,9 +399,15 @@
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>
<Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild"> <Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild">
<Exec Command="hg id -b &gt; &quot;$(IntDir)hgbranch.txt&quot;" ContinueOnError="true" /> <PropertyGroup>
<Exec Command="hg id -i &gt; &quot;$(IntDir)hgversion.txt&quot;" ContinueOnError="true" /> <HG Condition="$(HG) == ''">hg</HG>
<Exec Command="hg id -t &gt; &quot;$(IntDir)hgtag.txt&quot;" ContinueOnError="true" /> <_HG>$(HG)</_HG>
<_HG Condition="$(HG.Contains(` `))">"$(HG)"</_HG>
</PropertyGroup>
<Message Text="Getting build info from $(_HG)" Importance="high" />
<Exec Command="$(_HG) id -b &gt; &quot;$(IntDir)hgbranch.txt&quot;" ContinueOnError="true" />
<Exec Command="$(_HG) id -i &gt; &quot;$(IntDir)hgversion.txt&quot;" ContinueOnError="true" />
<Exec Command="$(_HG) id -t &gt; &quot;$(IntDir)hgtag.txt&quot;" ContinueOnError="true" />
<PropertyGroup> <PropertyGroup>
<HgBranch Condition="Exists('$(IntDir)hgbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgbranch.txt').Trim())</HgBranch> <HgBranch Condition="Exists('$(IntDir)hgbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgbranch.txt').Trim())</HgBranch>
<HgVersion Condition="Exists('$(IntDir)hgversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgversion.txt').Trim())</HgVersion> <HgVersion Condition="Exists('$(IntDir)hgversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgversion.txt').Trim())</HgVersion>

View File

@ -64,6 +64,9 @@ if "%1" NEQ "" echo Invalid option: "%1" && exit /B 1
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)
if not exist "%HG%" where hg > "%TEMP%\hg.loc" 2> nul && set /P HG= < "%TEMP%\hg.loc" & del "%TEMP%\hg.loc"
if not exist "%HG%" echo Cannot find Mercurial on PATH && exit /B 1
call "%D%get_externals.bat" call "%D%get_externals.bat"
:builddoc :builddoc
@ -77,8 +80,6 @@ call "%D%..\..\doc\make.bat" htmlhelp
if errorlevel 1 goto :eof if errorlevel 1 goto :eof
:skipdoc :skipdoc
where hg /q || echo Cannot find Mercurial on PATH && exit /B 1
where dlltool /q && goto skipdlltoolsearch where dlltool /q && goto skipdlltoolsearch
set _DLLTOOL_PATH= set _DLLTOOL_PATH=
where /R "%EXTERNALS%\" dlltool > "%TEMP%\dlltool.loc" 2> nul && set /P _DLLTOOL_PATH= < "%TEMP%\dlltool.loc" & del "%TEMP%\dlltool.loc" where /R "%EXTERNALS%\" dlltool > "%TEMP%\dlltool.loc" 2> nul && set /P _DLLTOOL_PATH= < "%TEMP%\dlltool.loc" & del "%TEMP%\dlltool.loc"
@ -187,7 +188,7 @@ msbuild "%D%bundle\releaseweb.wixproj" /t:Rebuild /p:Platform=%1 %BUILDOPTS% %CE
if errorlevel 1 exit /B if errorlevel 1 exit /B
if defined BUILDZIP ( if defined BUILDZIP (
msbuild "%D%make_zip.proj" /t:Build %BUILDOPTS% %CERTOPTS% msbuild "%D%make_zip.proj" /t:Build %BUILDOPTS% %CERTOPTS% /p:OutputPath="%BUILD%en-us"
if errorlevel 1 exit /B if errorlevel 1 exit /B
) )

View File

@ -1,6 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"> xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
<Bundle Name="!(loc.FullProductName)" <Bundle Name="!(loc.FullProductName)"
UpgradeCode="$(var.CoreUpgradeCode)" UpgradeCode="$(var.CoreUpgradeCode)"
Version="$(var.Version)" Version="$(var.Version)"
@ -8,7 +9,8 @@
Manufacturer="!(loc.Manufacturer)" Manufacturer="!(loc.Manufacturer)"
AboutUrl="http://www.python.org/" AboutUrl="http://www.python.org/"
DisableModify="button" DisableModify="button"
Compressed="no"> Compressed="no"
dep:ProviderKey="CPython-$(var.MajorVersionNumber).$(var.MinorVersionNumber)$(var.PyArchExt)$(var.PyTestExt)">
<BootstrapperApplication Id="PythonBA" SourceFile="$(var.BootstrapApp)"> <BootstrapperApplication Id="PythonBA" SourceFile="$(var.BootstrapApp)">
<Payload Compressed='yes' SourceFile='Default.thm' /> <Payload Compressed='yes' SourceFile='Default.thm' />
<Payload Compressed='yes' SourceFile='Default.wxl' /> <Payload Compressed='yes' SourceFile='Default.wxl' />

View File

@ -13,10 +13,10 @@
<SignOutput>false</SignOutput> <SignOutput>false</SignOutput>
<TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName> <TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName>
<TargetExt>.zip</TargetExt> <TargetExt>.zip</TargetExt>
<TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath> <TargetPath>$(OutputPath)\$(TargetName)$(TargetExt)</TargetPath>
<CleanCommand>rmdir /q/s "$(IntermediateOutputPath)\zip_$(ArchName)"</CleanCommand> <CleanCommand>rmdir /q/s "$(IntermediateOutputPath)\zip_$(ArchName)"</CleanCommand>
<Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments> <Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments>
<Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -b "$(OutDir.TrimEnd('\'))"</Arguments> <Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -b "$(BuildPath.TrimEnd('\'))"</Arguments>
<Environment>set DOC_FILENAME=python$(PythonVersion).chm <Environment>set DOC_FILENAME=python$(PythonVersion).chm
set VCREDIST_PATH=$(VS140COMNTOOLS)\..\..\VC\redist\$(Platform)\Microsoft.VC140.CRT</Environment> set VCREDIST_PATH=$(VS140COMNTOOLS)\..\..\VC\redist\$(Platform)\Microsoft.VC140.CRT</Environment>
</PropertyGroup> </PropertyGroup>

View File

@ -18,13 +18,12 @@
<SignOutput>false</SignOutput> <SignOutput>false</SignOutput>
<TargetName>$(OutputName).$(NuspecVersion)</TargetName> <TargetName>$(OutputName).$(NuspecVersion)</TargetName>
<TargetExt>.nupkg</TargetExt> <TargetExt>.nupkg</TargetExt>
<TargetPath>$(OutputPath)\$(TargetName)$(TargetExt)</TargetPath>
<IntermediateOutputPath>$(IntermediateOutputPath)\nuget_$(ArchName)</IntermediateOutputPath> <IntermediateOutputPath>$(IntermediateOutputPath)\nuget_$(ArchName)</IntermediateOutputPath>
<CleanCommand>rmdir /q/s "$(IntermediateOutputPath)"</CleanCommand> <CleanCommand>rmdir /q/s "$(IntermediateOutputPath)"</CleanCommand>
<PythonArguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\..\msi\make_zip.py"</PythonArguments> <PythonArguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\..\msi\make_zip.py"</PythonArguments>
<PythonArguments>$(PythonArguments) -t "$(IntermediateOutputPath)" -b "$(OutDir.TrimEnd('\'))"</PythonArguments> <PythonArguments>$(PythonArguments) -t "$(IntermediateOutputPath)" -b "$(BuildPath.TrimEnd('\'))"</PythonArguments>
<PipArguments>"$(IntermediateOutputPath)\python.exe" -B -c "import sys; sys.path.append(r'$(PySourcePath)\Lib'); import ensurepip; ensurepip._main()"</PipArguments> <PipArguments>"$(IntermediateOutputPath)\python.exe" -B -c "import sys; sys.path.append(r'$(PySourcePath)\Lib'); import ensurepip; ensurepip._main()"</PipArguments>
<PackageArguments Condition="$(Packages) != ''">"$(IntermediateOutputPath)\python.exe" -B -m pip install -U $(Packages)</PackageArguments> <PackageArguments Condition="$(Packages) != ''">"$(IntermediateOutputPath)\python.exe" -B -m pip install -U $(Packages)</PackageArguments>