|
148 | 148 | <ExeBundleInstallerFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension).exe</ExeBundleInstallerFile>
|
149 | 149 | <ExeBundleInstallerEngineFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension)-engine.exe</ExeBundleInstallerEngineFile>
|
150 | 150 | </PropertyGroup>
|
| 151 | + </Target> |
151 | 152 |
|
152 |
| - <PropertyGroup Condition="'$(GenerateRpm)' == 'true'"> |
153 |
| - <CreateRPMForCblMariner>true</CreateRPMForCblMariner> |
154 |
| - <!-- PackageTargetOS is a distro-specific version suffix, used for deps packages, including the one for CBL Mariner. |
155 |
| - We do not want to create additional CBL Mariner named RPMs of those packages. --> |
156 |
| - <CreateRPMForCblMariner Condition="'$(PackageTargetOS)' != ''">false</CreateRPMForCblMariner> |
157 |
| - </PropertyGroup> |
158 |
| - |
159 |
| - <PropertyGroup Condition="'$(CreateRPMForCblMariner)' == 'true'"> |
| 153 | + |
| 154 | + <!-- |
| 155 | + Packages produced for CBL-Mariner must be signed with a special certificate. |
| 156 | + Additionally, some distros use old keys (SHA-1 based) so there's a different cert for new packages. |
| 157 | + RPM v4 doesn't support multiple signatures, so we must have two separate copies of the RPM for us to sign. |
| 158 | + To solve this, we make copies of the packages with special names (which the Arcade SDK will sign with the correct certificate). |
| 159 | + PackageTargetOS is a distro-specific version suffix, used for deps packages, including the one for CBL-Mariner. |
| 160 | + As a result, we don't need to create a separate copy of the package for CBL-Mariner, but we do need to create a copy with the new key (unless the target is CBL-Mariner). |
| 161 | + --> |
| 162 | + <Target Name="_BuildMarinerRpm" |
| 163 | + AfterTargets="GenerateRpm" |
| 164 | + Condition="'$(PackageTargetOS)' != ''"> |
| 165 | + <!-- CBL-Mariner --> |
| 166 | + <PropertyGroup> |
160 | 167 | <!-- CBL-Mariner 1.0 -->
|
161 | 168 | <_CblMarinerVersionSuffix>cm.1</_CblMarinerVersionSuffix>
|
162 | 169 | <_InstallerBuildPartCblMariner>$(Version)-$(_CblMarinerVersionSuffix)-$(InstallerTargetArchitecture)</_InstallerBuildPartCblMariner>
|
|
168 | 175 | <_InstallerFileNameWithoutExtensionCblMariner2>$(InstallerName)-$(_InstallerBuildPartCblMariner2)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionCblMariner2>
|
169 | 176 | <_InstallerFileCblMariner2>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionCblMariner2)$(InstallerExtension)</_InstallerFileCblMariner2>
|
170 | 177 | </PropertyGroup>
|
| 178 | + <Copy SourceFiles="$(_InstallerFile)" |
| 179 | + DestinationFiles="$(_InstallerFileCblMariner)" |
| 180 | + OverwriteReadOnlyFiles="True" |
| 181 | + SkipUnchangedFiles="False" |
| 182 | + UseHardlinksIfPossible="False" /> |
| 183 | + |
| 184 | + <Message Text="$(MSBuildProjectName) -> $(_InstallerFileCblMariner)" Importance="high" /> |
| 185 | + <Copy SourceFiles="$(_InstallerFile)" |
| 186 | + DestinationFiles="$(_InstallerFileCblMariner2)" |
| 187 | + OverwriteReadOnlyFiles="True" |
| 188 | + SkipUnchangedFiles="False" |
| 189 | + UseHardlinksIfPossible="False" /> |
| 190 | + |
| 191 | + <Message Text="$(MSBuildProjectName) -> $(_InstallerFileCblMariner2)" Importance="high" /> |
| 192 | + </Target> |
| 193 | + |
| 194 | + <Target Name="_BuildNewKeyLinuxPackage" |
| 195 | + AfterTargets="GenerateRpm;GenerateDeb" |
| 196 | + Condition="'$(PackageTargetOS)' != 'cm.1' and '$(PackageTargetOS)' != 'cm.2'"> |
| 197 | + <!-- Packages to be signed with the new key --> |
| 198 | + <PropertyGroup> |
| 199 | + <_NewKeyVersionSuffix>newkey</_NewKeyVersionSuffix> |
| 200 | + <_InstallerBuildPartNewKey>$(Version)-$(_NewKeyVersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartNewKey> |
| 201 | + <_InstallerBuildPartNewKey Condition="'$(PackageTargetOS)' != ''">$(Version)-$(PackageTargetOS)-$(_NewKeyVersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartNewKey> |
| 202 | + <_InstallerFileNameWithoutExtensionNewKey>$(InstallerName)-$(_InstallerBuildPartNewKey)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionNewKey> |
| 203 | + <_InstallerFileNewKey>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionNewKey)$(InstallerExtension)</_InstallerFileNewKey> |
| 204 | + </PropertyGroup> |
| 205 | + <Copy SourceFiles="$(_InstallerFile)" |
| 206 | + DestinationFiles="$(_InstallerFileNewKey)" |
| 207 | + OverwriteReadOnlyFiles="True" |
| 208 | + SkipUnchangedFiles="False" |
| 209 | + UseHardlinksIfPossible="False" /> |
| 210 | + |
| 211 | + <Message Text="$(MSBuildProjectName) -> $(_InstallerFileNewKey)" Importance="high" /> |
171 | 212 | </Target>
|
172 | 213 |
|
173 | 214 | <!--
|
|
330 | 371 | UseHardlinksIfPossible="False" />
|
331 | 372 |
|
332 | 373 | <Message Text="$(MSBuildProjectName) -> $(_InstallerFile)" Importance="high" />
|
333 |
| - |
334 |
| - <!-- CBL-Mariner 1.0 --> |
335 |
| - <Copy Condition="'$(CreateRPMForCblMariner)' == 'true'" |
336 |
| - SourceFiles="@(GeneratedRpmFiles)" |
337 |
| - DestinationFiles="$(_InstallerFileCblMariner)" |
338 |
| - OverwriteReadOnlyFiles="True" |
339 |
| - SkipUnchangedFiles="False" |
340 |
| - UseHardlinksIfPossible="False" /> |
341 |
| - |
342 |
| - <Message Text="$(MSBuildProjectName) -> $(_InstallerFileCblMariner)" Importance="high" /> |
343 |
| - |
344 |
| - <!-- CBL-Mariner 2.0 --> |
345 |
| - <Copy Condition="'$(CreateRPMForCblMariner)' == 'true'" |
346 |
| - SourceFiles="@(GeneratedRpmFiles)" |
347 |
| - DestinationFiles="$(_InstallerFileCblMariner2)" |
348 |
| - OverwriteReadOnlyFiles="True" |
349 |
| - SkipUnchangedFiles="False" |
350 |
| - UseHardlinksIfPossible="False" /> |
351 |
| - |
352 |
| - <Message Text="$(MSBuildProjectName) -> $(_InstallerFileCblMariner2)" Importance="high" /> |
353 | 374 | </Target>
|
354 | 375 |
|
355 | 376 | <Target Name="GetRpmInstallerJsonProperties"
|
|
0 commit comments