Issue #28402: Adds signed catalog files for stdlib on Windows.
This commit is contained in:
commit
15d3d8bd14
|
@ -235,6 +235,8 @@ Library
|
||||||
Windows
|
Windows
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #28402: Adds signed catalog files for stdlib on Windows.
|
||||||
|
|
||||||
- Issue #28333: Enables Unicode for ps1/ps2 and input() prompts. (Patch by
|
- Issue #28333: Enables Unicode for ps1/ps2 and input() prompts. (Patch by
|
||||||
Eryk Sun)
|
Eryk Sun)
|
||||||
|
|
||||||
|
|
|
@ -147,11 +147,13 @@ foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses
|
||||||
Targets="CleanAll" />
|
Targets="CleanAll" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(SigningCertificate)' != '' and $(SupportSigning)">
|
<PropertyGroup>
|
||||||
<SignToolPath Condition="'$(SignToolPath)' == '' or !Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot81)\bin\x86\signtool.exe</SignToolPath>
|
<SdkBinPath Condition="'$(SdkBinPath)' == '' or !Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot10)\bin\x86</SdkBinPath>
|
||||||
<SignToolPath Condition="!Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot)\bin\x86\signtool.exe</SignToolPath>
|
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot81)\bin\x86</SdkBinPath>
|
||||||
<SignToolPath Condition="!Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A@InstallationFolder)\Bin\signtool.exe</SignToolPath>
|
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot)\bin\x86</SdkBinPath>
|
||||||
<_SignCommand Condition="Exists($(SignToolPath))">"$(SignToolPath)" sign /q /n "$(SigningCertificate)" /fd sha256 /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Python $(PythonVersion)"</_SignCommand>
|
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A@InstallationFolder)\Bin\</SdkBinPath>
|
||||||
|
<_SignCommand Condition="Exists($(SdkBinPath)) and '$(SigningCertificate)' != '' and $(SupportSigning)">"$(SdkBinPath)\signtool.exe" sign /q /n "$(SigningCertificate)" /fd sha256 /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Python $(PythonVersion)"</_SignCommand>
|
||||||
|
<_MakeCatCommand Condition="Exists($(SdkBinPath))">"$(SdkBinPath)\makecat.exe"</_MakeCatCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="_SignBuild" AfterTargets="AfterBuild" Condition="'$(SigningCertificate)' != '' and $(SupportSigning)">
|
<Target Name="_SignBuild" AfterTargets="AfterBuild" Condition="'$(SigningCertificate)' != '' and $(SupportSigning)">
|
||||||
|
|
|
@ -63,7 +63,9 @@
|
||||||
<!-- Top-level directories -->
|
<!-- Top-level directories -->
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<DirectoryRef Id="InstallDirectory">
|
<DirectoryRef Id="InstallDirectory">
|
||||||
<Directory Id="DLLs" Name="DLLs" />
|
<Directory Id="DLLs" Name="DLLs">
|
||||||
|
<Directory Id="Catalogs" />
|
||||||
|
</Directory>
|
||||||
</DirectoryRef>
|
</DirectoryRef>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
<TargetBase>$(PySourcePath)Lib</TargetBase>
|
<TargetBase>$(PySourcePath)Lib</TargetBase>
|
||||||
<Target_>Lib\</Target_>
|
<Target_>Lib\</Target_>
|
||||||
<Group>lib_py</Group>
|
<Group>lib_py</Group>
|
||||||
|
<IncludeInCat>true</IncludeInCat>
|
||||||
</InstallFiles>
|
</InstallFiles>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
<ComponentGroupRef Id="lib_py" />
|
<ComponentGroupRef Id="lib_py" />
|
||||||
<ComponentGroupRef Id="lib_files" />
|
<ComponentGroupRef Id="lib_files" />
|
||||||
<ComponentGroupRef Id="lib_extensions" />
|
<ComponentGroupRef Id="lib_extensions" />
|
||||||
|
<ComponentGroupRef Id="lib_cat" />
|
||||||
<ComponentRef Id="OptionalFeature" />
|
<ComponentRef Id="OptionalFeature" />
|
||||||
</Feature>
|
</Feature>
|
||||||
</Product>
|
</Product>
|
||||||
|
|
|
@ -70,4 +70,11 @@
|
||||||
</Component>
|
</Component>
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
<Fragment>
|
||||||
|
<ComponentGroup Id="lib_cat">
|
||||||
|
<Component Id="lib_cat" Directory="Catalogs" Guid="*">
|
||||||
|
<File Name="python_lib.cat" KeyPath="yes" />
|
||||||
|
</Component>
|
||||||
|
</ComponentGroup>
|
||||||
|
</Fragment>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
||||||
<Platform Condition="'$(Platform)' == ''">x86</Platform>
|
<Platform Condition="'$(Platform)' == ''">x86</Platform>
|
||||||
<InstallScope Condition="'$(InstallScope)' != 'perMachine'">perUser</InstallScope>
|
<InstallScope Condition="'$(InstallScope)' != 'perMachine'">perUser</InstallScope>
|
||||||
|
<_MakeCatCommand Condition="'$(_MakeCatCommand)' == ''">makecat</_MakeCatCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="wix.props" />
|
<Import Project="wix.props" />
|
||||||
|
@ -103,6 +104,7 @@
|
||||||
<Group>generated_filelist</Group>
|
<Group>generated_filelist</Group>
|
||||||
<Condition></Condition>
|
<Condition></Condition>
|
||||||
<DiskId></DiskId>
|
<DiskId></DiskId>
|
||||||
|
<IncludeInCat>false</IncludeInCat>
|
||||||
</InstallFiles>
|
</InstallFiles>
|
||||||
<LinkerBindInputPaths>
|
<LinkerBindInputPaths>
|
||||||
<Visible>false</Visible>
|
<Visible>false</Visible>
|
||||||
|
|
|
@ -12,8 +12,10 @@
|
||||||
<_Source>%(Source)$([msbuild]::MakeRelative(%(SourceBase), %(FullPath)))</_Source>
|
<_Source>%(Source)$([msbuild]::MakeRelative(%(SourceBase), %(FullPath)))</_Source>
|
||||||
<_Target>%(Target_)$([msbuild]::MakeRelative(%(TargetBase), %(FullPath)))</_Target>
|
<_Target>%(Target_)$([msbuild]::MakeRelative(%(TargetBase), %(FullPath)))</_Target>
|
||||||
</InstallFiles>
|
</InstallFiles>
|
||||||
|
|
||||||
|
<_CatalogFiles Include="@(InstallFiles)" Condition="%(InstallFiles.IncludeInCat) and ''!=$([System.IO.File]::ReadAllText(%(InstallFiles.FullPath)))" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<WriteLinesToFile File="$(_FileListTarget)" Lines="@(InstallFiles->'"%(_Source)","%(_Target)","%(Group)","%(DiskId)","%(Condition)"')" Overwrite="true" />
|
<WriteLinesToFile File="$(_FileListTarget)" Lines="@(InstallFiles->'"%(_Source)","%(_Target)","%(Group)","%(DiskId)","%(Condition)"')" Overwrite="true" />
|
||||||
<Exec Command='"$(PythonExe)" csv_to_wxs.py "$(_FileListTarget)" "$(_InstallFilesTarget)"'
|
<Exec Command='"$(PythonExe)" csv_to_wxs.py "$(_FileListTarget)" "$(_InstallFilesTarget)"'
|
||||||
WorkingDirectory="$(MSBuildThisFileDirectory)" />
|
WorkingDirectory="$(MSBuildThisFileDirectory)" />
|
||||||
|
@ -24,6 +26,35 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="GenerateCatalog" AfterTargets="ProcessInstallFiles" Condition="'@(_CatalogFiles)' != ''">
|
||||||
|
<PropertyGroup>
|
||||||
|
<_CatFileSourceTarget>$(IntermediateOutputPath)$(MSBuildProjectName).cdf</_CatFileSourceTarget>
|
||||||
|
<_CatFileTarget>$(IntermediateOutputPath)python_$(MSBuildProjectName).cat</_CatFileTarget>
|
||||||
|
<_CatFile>[CatalogHeader]
|
||||||
|
Name=$([System.IO.Path]::GetFileName($(_CatFileTarget)))
|
||||||
|
ResultDir=$([System.IO.Path]::GetDirectoryName($(_CatFileTarget)))
|
||||||
|
PublicVersion=1
|
||||||
|
CatalogVersion=2
|
||||||
|
HashAlgorithms=SHA256
|
||||||
|
PageHashes=false
|
||||||
|
EncodingType=
|
||||||
|
|
||||||
|
[CatalogFiles]
|
||||||
|
@(_CatalogFiles->'<HASH>%(Filename)%(Extension)=%(FullPath)','
|
||||||
|
')
|
||||||
|
</_CatFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile File="$(_CatFileSourceTarget)" Lines="$(_CatFile)" Overwrite="true" />
|
||||||
|
<Exec Command='$(_MakeCatCommand) "$(_CatFileSourceTarget)"' WorkingDirectory="$(MSBuildThisFileDirectory)" />
|
||||||
|
<Exec Command='$(_SignCommand) "$(_CatFileTarget)"' WorkingDirectory="$(MSBuildThisFileDirectory)"
|
||||||
|
Condition="Exists($(_CatFileTarget)) and '$(_SignCommand)' != ''" />
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<FileWrites Include="$(_CatFileSourceTarget);$(_CatFileTarget)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
<Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate);$(PySourcePath)include\patchlevel.h" Outputs="$(IntermediateOutputPath)%(Filename).wxl">
|
<Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate);$(PySourcePath)include\patchlevel.h" Outputs="$(IntermediateOutputPath)%(Filename).wxl">
|
||||||
<PropertyGroup Condition="'@(WxlTemplate)' != ''">
|
<PropertyGroup Condition="'@(WxlTemplate)' != ''">
|
||||||
<_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content>
|
<_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content>
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
<TargetBase>$(PySourcePath)</TargetBase>
|
<TargetBase>$(PySourcePath)</TargetBase>
|
||||||
<Target_></Target_>
|
<Target_></Target_>
|
||||||
<Group>tools_py</Group>
|
<Group>tools_py</Group>
|
||||||
|
<IncludeInCat>true</IncludeInCat>
|
||||||
</InstallFiles>
|
</InstallFiles>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
|
<Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
|
||||||
<ComponentGroupRef Id="tools_py" />
|
<ComponentGroupRef Id="tools_py" />
|
||||||
<ComponentGroupRef Id="tools_scripts" />
|
<ComponentGroupRef Id="tools_scripts" />
|
||||||
|
<ComponentGroupRef Id="tools_cat" />
|
||||||
<ComponentRef Id="OptionalFeature" />
|
<ComponentRef Id="OptionalFeature" />
|
||||||
</Feature>
|
</Feature>
|
||||||
</Product>
|
</Product>
|
||||||
|
|
|
@ -13,4 +13,11 @@
|
||||||
</Component>
|
</Component>
|
||||||
</ComponentGroup>
|
</ComponentGroup>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
<Fragment>
|
||||||
|
<ComponentGroup Id="tools_cat">
|
||||||
|
<Component Id="tools_cat" Directory="Catalogs" Guid="*">
|
||||||
|
<File Name="python_tools.cat" KeyPath="yes" />
|
||||||
|
</Component>
|
||||||
|
</ComponentGroup>
|
||||||
|
</Fragment>
|
||||||
</Wix>
|
</Wix>
|
||||||
|
|
Loading…
Reference in New Issue