diff options
author | Steve Dower <steve.dower@microsoft.com> | 2016-10-10 03:18:52 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2016-10-10 03:18:52 (GMT) |
commit | 425ec150ea52a5c164d0770df251381159bb54bb (patch) | |
tree | 98949edd89999228957911b793f367ff0a6dbe4f /Tools | |
parent | b1321fba53123fde88278e074b1e16ed206a18ad (diff) | |
download | cpython-425ec150ea52a5c164d0770df251381159bb54bb.zip cpython-425ec150ea52a5c164d0770df251381159bb54bb.tar.gz cpython-425ec150ea52a5c164d0770df251381159bb54bb.tar.bz2 |
Issue #28402: Adds signed catalog files for stdlib on Windows.
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/msi/common.wxs | 4 | ||||
-rw-r--r-- | Tools/msi/lib/lib.wixproj | 1 | ||||
-rw-r--r-- | Tools/msi/lib/lib.wxs | 1 | ||||
-rw-r--r-- | Tools/msi/lib/lib_files.wxs | 7 | ||||
-rw-r--r-- | Tools/msi/msi.props | 2 | ||||
-rw-r--r-- | Tools/msi/msi.targets | 33 | ||||
-rw-r--r-- | Tools/msi/tools/tools.wixproj | 1 | ||||
-rw-r--r-- | Tools/msi/tools/tools.wxs | 1 | ||||
-rw-r--r-- | Tools/msi/tools/tools_files.wxs | 7 |
9 files changed, 55 insertions, 2 deletions
diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs index 1949e81..398d94a 100644 --- a/Tools/msi/common.wxs +++ b/Tools/msi/common.wxs @@ -63,7 +63,9 @@ <!-- Top-level directories --> <Fragment> <DirectoryRef Id="InstallDirectory"> - <Directory Id="DLLs" Name="DLLs" /> + <Directory Id="DLLs" Name="DLLs"> + <Directory Id="Catalogs" /> + </Directory> </DirectoryRef> </Fragment> diff --git a/Tools/msi/lib/lib.wixproj b/Tools/msi/lib/lib.wixproj index 64e5878..26311ea 100644 --- a/Tools/msi/lib/lib.wixproj +++ b/Tools/msi/lib/lib.wixproj @@ -27,6 +27,7 @@ <TargetBase>$(PySourcePath)Lib</TargetBase> <Target_>Lib\</Target_> <Group>lib_py</Group> + <IncludeInCat>true</IncludeInCat> </InstallFiles> </ItemGroup> diff --git a/Tools/msi/lib/lib.wxs b/Tools/msi/lib/lib.wxs index 2b04bcb..2a3b9ec 100644 --- a/Tools/msi/lib/lib.wxs +++ b/Tools/msi/lib/lib.wxs @@ -11,6 +11,7 @@ <ComponentGroupRef Id="lib_py" /> <ComponentGroupRef Id="lib_files" /> <ComponentGroupRef Id="lib_extensions" /> + <ComponentGroupRef Id="lib_cat" /> <ComponentRef Id="OptionalFeature" /> </Feature> </Product> diff --git a/Tools/msi/lib/lib_files.wxs b/Tools/msi/lib/lib_files.wxs index 804ab01..eb26f8d 100644 --- a/Tools/msi/lib/lib_files.wxs +++ b/Tools/msi/lib/lib_files.wxs @@ -70,4 +70,11 @@ </Component> </ComponentGroup> </Fragment> + <Fragment> + <ComponentGroup Id="lib_cat"> + <Component Id="lib_cat" Directory="Catalogs" Guid="*"> + <File Name="python_lib.cat" KeyPath="yes" /> + </Component> + </ComponentGroup> + </Fragment> </Wix> diff --git a/Tools/msi/msi.props b/Tools/msi/msi.props index 745fc54..60abba1 100644 --- a/Tools/msi/msi.props +++ b/Tools/msi/msi.props @@ -11,6 +11,7 @@ <Configuration Condition="'$(Configuration)' == ''">Release</Configuration> <Platform Condition="'$(Platform)' == ''">x86</Platform> <InstallScope Condition="'$(InstallScope)' != 'perMachine'">perUser</InstallScope> + <_MakeCatCommand Condition="'$(_MakeCatCommand)' == ''">makecat</_MakeCatCommand> </PropertyGroup> <Import Project="wix.props" /> @@ -103,6 +104,7 @@ <Group>generated_filelist</Group> <Condition></Condition> <DiskId></DiskId> + <IncludeInCat>false</IncludeInCat> </InstallFiles> <LinkerBindInputPaths> <Visible>false</Visible> diff --git a/Tools/msi/msi.targets b/Tools/msi/msi.targets index 86be35b..9283a1e 100644 --- a/Tools/msi/msi.targets +++ b/Tools/msi/msi.targets @@ -12,8 +12,10 @@ <_Source>%(Source)$([msbuild]::MakeRelative(%(SourceBase), %(FullPath)))</_Source> <_Target>%(Target_)$([msbuild]::MakeRelative(%(TargetBase), %(FullPath)))</_Target> </InstallFiles> + + <_CatalogFiles Include="@(InstallFiles)" Condition="%(InstallFiles.IncludeInCat) and ''!=$([System.IO.File]::ReadAllText(%(InstallFiles.FullPath)))" /> </ItemGroup> - + <WriteLinesToFile File="$(_FileListTarget)" Lines="@(InstallFiles->'"%(_Source)","%(_Target)","%(Group)","%(DiskId)","%(Condition)"')" Overwrite="true" /> <Exec Command='"$(PythonExe)" csv_to_wxs.py "$(_FileListTarget)" "$(_InstallFilesTarget)"' WorkingDirectory="$(MSBuildThisFileDirectory)" /> @@ -24,6 +26,35 @@ </ItemGroup> </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"> <PropertyGroup Condition="'@(WxlTemplate)' != ''"> <_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content> diff --git a/Tools/msi/tools/tools.wixproj b/Tools/msi/tools/tools.wixproj index f43cf33..b7fc41e 100644 --- a/Tools/msi/tools/tools.wixproj +++ b/Tools/msi/tools/tools.wixproj @@ -36,6 +36,7 @@ <TargetBase>$(PySourcePath)</TargetBase> <Target_></Target_> <Group>tools_py</Group> + <IncludeInCat>true</IncludeInCat> </InstallFiles> </ItemGroup> diff --git a/Tools/msi/tools/tools.wxs b/Tools/msi/tools/tools.wxs index 8f8418a..7a805d0 100644 --- a/Tools/msi/tools/tools.wxs +++ b/Tools/msi/tools/tools.wxs @@ -9,6 +9,7 @@ <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)"> <ComponentGroupRef Id="tools_py" /> <ComponentGroupRef Id="tools_scripts" /> + <ComponentGroupRef Id="tools_cat" /> <ComponentRef Id="OptionalFeature" /> </Feature> </Product> diff --git a/Tools/msi/tools/tools_files.wxs b/Tools/msi/tools/tools_files.wxs index 3ae0db2..9c76b1b 100644 --- a/Tools/msi/tools/tools_files.wxs +++ b/Tools/msi/tools/tools_files.wxs @@ -13,4 +13,11 @@ </Component> </ComponentGroup> </Fragment> + <Fragment> + <ComponentGroup Id="tools_cat"> + <Component Id="tools_cat" Directory="Catalogs" Guid="*"> + <File Name="python_tools.cat" KeyPath="yes" /> + </Component> + </ComponentGroup> + </Fragment> </Wix> |