diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 2e8a54414837965dcc958ce234a31cf033016ccf..277fc34c626fdc80ddbc76168c9005b744ebc104 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -407,7 +407,6 @@ stages: --no-build-nodejs --no-build-java -p:OnlyPackPlatformSpecificPackages=true - -p:AssetManifestFileName=aspnetcore-Linux_x64.xml $(_BuildArgs) $(_InternalRuntimeDownloadArgs) displayName: Run build.sh @@ -496,17 +495,26 @@ stages: jobName: Linux_arm64_build jobDisplayName: "Build: Linux ARM64" agentOs: Linux - buildArgs: - --arch arm64 - --all - --pack - --no-build-nodejs - --no-build-java - -p:OnlyPackPlatformSpecificPackages=true - -p:AssetManifestFileName=aspnetcore-Linux_arm64.xml - $(_BuildArgs) - $(_PublishArgs) - $(_InternalRuntimeDownloadArgs) + steps: + - script: ./eng/build.sh + --ci + --arch arm64 + --pack + --all + --no-build-nodejs + --no-build-java + -p:OnlyPackPlatformSpecificPackages=true + $(_BuildArgs) + $(_InternalRuntimeDownloadArgs) + displayName: Run build.sh + - script: git clean -xfd src/**/obj/; + ./dockerbuild.sh rhel --ci --nobl --arch arm64 --build-installers --no-build-deps --no-build-nodejs + -p:OnlyPackPlatformSpecificPackages=true -p:BuildRuntimeArchive=false -p:LinuxInstallerType=rpm + -p:AssetManifestFileName=aspnetcore-Linux_arm64.xml + $(_BuildArgs) + $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) + displayName: Build RPM installers installNodeJs: false installJdk: false artifacts: diff --git a/Directory.Build.props b/Directory.Build.props index 8f0ac5942284cb62724017bdaa2c5700e4b1ce37..721f099a7734bd344434f3eeb2100fba83bd62b3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -30,6 +30,9 @@ $(MSBuildProjectName.EndsWith('.Test')) OR $(MSBuildProjectName.EndsWith('.FunctionalTest')) ) ">true</IsUnitTestProject> <IsTestAssetProject Condition=" $(RepoRelativeProjectDir.Contains('testassets')) OR $(MSBuildProjectName.Contains('TestCommon'))">true</IsTestAssetProject> + <IsProjectTemplateProject Condition=" ($(RepoRelativeProjectDir.Contains('ProjectTemplates')) OR $(MSBuildProjectName.Contains('ProjectTemplates')) ) AND + '$(IsUnitTestProject)' != 'true' AND + '$(IsTestAssetProject)' != 'true' ">true</IsProjectTemplateProject> <IsSampleProject Condition=" $(RepoRelativeProjectDir.ToUpperInvariant().Contains('SAMPLE')) ">true</IsSampleProject> <IsAnalyzersProject Condition="$(MSBuildProjectName.EndsWith('.Analyzers'))">true</IsAnalyzersProject> <IsShipping Condition=" '$(IsSampleProject)' == 'true' OR diff --git a/Directory.Build.targets b/Directory.Build.targets index a195c0fb2ea0e22d72f7972c6d6938784a3942c6..fd388a1176d2762dbe99ba7519ca2f8f03391f4c 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,10 +1,15 @@ <Project> <PropertyGroup> - <!-- Only build Microsoft.AspNetCore.App, Microsoft.AspNetCore.App.Ref, and ref/ assemblies in source build. --> + <!-- Only build Microsoft.AspNetCore.App, Microsoft.AspNetCore.App.Ref, ref/ assemblies, and ProjectTemplates in source build. --> <!-- Analyzer package are needed in source build for WebSDK --> <ExcludeFromSourceBuild - Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(MSBuildProjectName)' != '$(TargetingPackName)' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild> + Condition="'$(ExcludeFromSourceBuild)' == '' and + '$(DotNetBuildFromSource)' == 'true' and + '$(IsAspNetCoreApp)' != 'true' and + '$(MSBuildProjectName)' != '$(TargetingPackName)' and + '$(IsAnalyzersProject)' != 'true' and + '$(IsProjectTemplateProject)' != 'true'">true</ExcludeFromSourceBuild> <!-- If the user has specified that they want to skip building any test related projects with SkipTestBuild, suppress all targets for TestProjects using ExcludeFromBuild. --> diff --git a/eng/Build.props b/eng/Build.props index fd3736f50d0ddf5ba9d742531a3b60abdfeaca71..09cb548d4eee769f3020dab34428391ee69b64b0 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -95,7 +95,7 @@ <ProjectToBuild Include="$(RepoRoot)src\Installers\Windows\SharedFrameworkLib\SharedFrameworkLib.wixproj" AdditionalProperties="Platform=arm64" /> </ItemGroup> - <ItemGroup Condition="'$(BuildInstallers)' == 'true' AND '$(TargetRuntimeIdentifier)' == 'linux-x64'"> + <ItemGroup Condition="'$(BuildInstallers)' == 'true' AND ('$(TargetRuntimeIdentifier)' == 'linux-x64' OR '$(TargetRuntimeIdentifier)' == 'linux-arm64')"> <ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'deb' " Include="$(RepoRoot)src\Installers\Debian\**\*.*proj" /> <ProjectToBuild Condition=" '$(LinuxInstallerType)' == 'rpm' " diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1f0d6ec55335fece4146344f370710c8971fd4e..58157a1548950d7e1116e6de174b7c9f867c3b87 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -280,22 +280,22 @@ <Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Sha>c24d9a9c91c5d04b7b4de71f1a9f33ac35e09663</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22122.7"> + <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22161.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>7215d8265a7fbcd022eb72ff7a6e2048444c985f</Sha> + <Sha>879df783283dfb44c7653493fdf7fd7b07ba6b01</Sha> <SourceBuild RepoName="arcade" ManagedOnly="true" /> </Dependency> - <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22122.7"> + <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22161.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>7215d8265a7fbcd022eb72ff7a6e2048444c985f</Sha> + <Sha>879df783283dfb44c7653493fdf7fd7b07ba6b01</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="6.0.0-beta.22122.7"> + <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="6.0.0-beta.22161.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>7215d8265a7fbcd022eb72ff7a6e2048444c985f</Sha> + <Sha>879df783283dfb44c7653493fdf7fd7b07ba6b01</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.22122.7"> + <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.22161.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>7215d8265a7fbcd022eb72ff7a6e2048444c985f</Sha> + <Sha>879df783283dfb44c7653493fdf7fd7b07ba6b01</Sha> </Dependency> </ToolsetDependencies> </Dependencies> diff --git a/eng/Versions.props b/eng/Versions.props index 181afaaa14ca3501a0820d4b6c41d19644674a60..e65eba6c0088fd55baa9e4f10fc7f58495cd565c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -131,8 +131,8 @@ <MicrosoftEntityFrameworkCoreVersion>6.0.4</MicrosoftEntityFrameworkCoreVersion> <MicrosoftEntityFrameworkCoreDesignVersion>6.0.4</MicrosoftEntityFrameworkCoreDesignVersion> <!-- Packages from dotnet/arcade --> - <MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.22122.7</MicrosoftDotNetBuildTasksInstallersVersion> - <MicrosoftDotNetBuildTasksTemplatingVersion>6.0.0-beta.22122.7</MicrosoftDotNetBuildTasksTemplatingVersion> + <MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.22161.1</MicrosoftDotNetBuildTasksInstallersVersion> + <MicrosoftDotNetBuildTasksTemplatingVersion>6.0.0-beta.22161.1</MicrosoftDotNetBuildTasksTemplatingVersion> </PropertyGroup> <!-- diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml index d0a1ea8b0f23fdffe78c14c6f2c5a5606d8fbfaa..24cec0424e5d64fc6f5d56e50246c15068bbf654 100644 --- a/eng/common/templates/job/execute-sdl.yml +++ b/eng/common/templates/job/execute-sdl.yml @@ -43,14 +43,9 @@ jobs: value: ${{ parameters.AzDOPipelineId }} - name: AzDOBuildId value: ${{ parameters.AzDOBuildId }} - # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in - # sync with the packages.config file. - - name: DefaultGuardianVersion - value: 0.110.1 + - template: /eng/common/templates/variables/sdl-variables.yml - name: GuardianVersion value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }} - - name: GuardianPackagesConfigFile - value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config pool: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: @@ -126,57 +121,11 @@ jobs: displayName: Extract Archive Artifacts continueOnError: ${{ parameters.sdlContinueOnError }} - - ${{ if ne(parameters.overrideGuardianVersion, '') }}: - - powershell: | - $content = Get-Content $(GuardianPackagesConfigFile) - - Write-Host "packages.config content was:`n$content" - - $content = $content.Replace('$(DefaultGuardianVersion)', '$(GuardianVersion)') - $content | Set-Content $(GuardianPackagesConfigFile) - - Write-Host "packages.config content updated to:`n$content" - displayName: Use overridden Guardian version ${{ parameters.overrideGuardianVersion }} - - - task: NuGetToolInstaller@1 - displayName: 'Install NuGet.exe' - - task: NuGetCommand@2 - displayName: 'Install Guardian' - inputs: - restoreSolution: $(Build.SourcesDirectory)\eng\common\sdl\packages.config - feedsToUse: config - nugetConfigPath: $(Build.SourcesDirectory)\eng\common\sdl\NuGet.config - externalFeedCredentials: GuardianConnect - restoreDirectory: $(Build.SourcesDirectory)\.packages - - - ${{ if ne(parameters.overrideParameters, '') }}: - - powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }} - displayName: Execute SDL - continueOnError: ${{ parameters.sdlContinueOnError }} - - ${{ if eq(parameters.overrideParameters, '') }}: - - powershell: ${{ parameters.executeAllSdlToolsScript }} - -GuardianPackageName Microsoft.Guardian.Cli.$(GuardianVersion) - -NugetPackageDirectory $(Build.SourcesDirectory)\.packages - -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw) - ${{ parameters.additionalParameters }} - displayName: Execute SDL - continueOnError: ${{ parameters.sdlContinueOnError }} - - - ${{ if ne(parameters.publishGuardianDirectoryToPipeline, 'false') }}: - # We want to publish the Guardian results and configuration for easy diagnosis. However, the - # '.gdn' dir is a mix of configuration, results, extracted dependencies, and Guardian default - # tooling files. Some of these files are large and aren't useful during an investigation, so - # exclude them by simply deleting them before publishing. (As of writing, there is no documented - # way to selectively exclude a dir from the pipeline artifact publish task.) - - task: DeleteFiles@1 - displayName: Delete Guardian dependencies to avoid uploading - inputs: - SourceFolder: $(Agent.BuildDirectory)/.gdn - Contents: | - c - i - condition: succeededOrFailed() - - publish: $(Agent.BuildDirectory)/.gdn - artifact: GuardianConfiguration - displayName: Publish GuardianConfiguration - condition: succeededOrFailed() + - template: /eng/common/templates/steps/execute-sdl.yml + parameters: + overrideGuardianVersion: ${{ parameters.overrideGuardianVersion }} + executeAllSdlToolsScript: ${{ parameters.executeAllSdlToolsScript }} + overrideParameters: ${{ parameters.overrideParameters }} + additionalParameters: ${{ parameters.additionalParameters }} + publishGuardianDirectoryToPipeline: ${{ parameters.publishGuardianDirectoryToPipeline }} + sdlContinueOnError: ${{ parameters.sdlContinueOnError }} diff --git a/eng/common/templates/jobs/codeql-build.yml b/eng/common/templates/jobs/codeql-build.yml index f7dc5ea4aaa63c37907916fba4b13de6e507e9cb..54c393af440d02a2b92343a8b75f8b5a9a8d4e78 100644 --- a/eng/common/templates/jobs/codeql-build.yml +++ b/eng/common/templates/jobs/codeql-build.yml @@ -21,7 +21,7 @@ jobs: # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in # sync with the packages.config file. - name: DefaultGuardianVersion - value: 0.109.0 + value: 0.110.1 - name: GuardianPackagesConfigFile value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config - name: GuardianVersion diff --git a/eng/common/templates/steps/execute-sdl.yml b/eng/common/templates/steps/execute-sdl.yml new file mode 100644 index 0000000000000000000000000000000000000000..7b8ee18a28d7e72e30ee297fa4ec231ade3ed28a --- /dev/null +++ b/eng/common/templates/steps/execute-sdl.yml @@ -0,0 +1,68 @@ +parameters: + overrideGuardianVersion: '' + executeAllSdlToolsScript: '' + overrideParameters: '' + additionalParameters: '' + publishGuardianDirectoryToPipeline: false + sdlContinueOnError: false + condition: '' + +steps: +- ${{ if ne(parameters.overrideGuardianVersion, '') }}: + - powershell: | + $content = Get-Content $(GuardianPackagesConfigFile) + + Write-Host "packages.config content was:`n$content" + + $content = $content.Replace('$(DefaultGuardianVersion)', '$(GuardianVersion)') + $content | Set-Content $(GuardianPackagesConfigFile) + + Write-Host "packages.config content updated to:`n$content" + displayName: Use overridden Guardian version ${{ parameters.overrideGuardianVersion }} + +- task: NuGetToolInstaller@1 + displayName: 'Install NuGet.exe' + +- task: NuGetCommand@2 + displayName: 'Install Guardian' + inputs: + restoreSolution: $(Build.SourcesDirectory)\eng\common\sdl\packages.config + feedsToUse: config + nugetConfigPath: $(Build.SourcesDirectory)\eng\common\sdl\NuGet.config + externalFeedCredentials: GuardianConnect + restoreDirectory: $(Build.SourcesDirectory)\.packages + +- ${{ if ne(parameters.overrideParameters, '') }}: + - powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }} + displayName: Execute SDL + continueOnError: ${{ parameters.sdlContinueOnError }} + condition: ${{ parameters.condition }} + +- ${{ if eq(parameters.overrideParameters, '') }}: + - powershell: ${{ parameters.executeAllSdlToolsScript }} + -GuardianPackageName Microsoft.Guardian.Cli.$(GuardianVersion) + -NugetPackageDirectory $(Build.SourcesDirectory)\.packages + -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw) + ${{ parameters.additionalParameters }} + displayName: Execute SDL + continueOnError: ${{ parameters.sdlContinueOnError }} + condition: ${{ parameters.condition }} + +- ${{ if ne(parameters.publishGuardianDirectoryToPipeline, 'false') }}: + # We want to publish the Guardian results and configuration for easy diagnosis. However, the + # '.gdn' dir is a mix of configuration, results, extracted dependencies, and Guardian default + # tooling files. Some of these files are large and aren't useful during an investigation, so + # exclude them by simply deleting them before publishing. (As of writing, there is no documented + # way to selectively exclude a dir from the pipeline artifact publish task.) + - task: DeleteFiles@1 + displayName: Delete Guardian dependencies to avoid uploading + inputs: + SourceFolder: $(Agent.BuildDirectory)/.gdn + Contents: | + c + i + condition: succeededOrFailed() + - publish: $(Agent.BuildDirectory)/.gdn + artifact: GuardianConfiguration + displayName: Publish GuardianConfiguration + condition: succeededOrFailed() \ No newline at end of file diff --git a/eng/common/templates/variables/sdl-variables.yml b/eng/common/templates/variables/sdl-variables.yml new file mode 100644 index 0000000000000000000000000000000000000000..1a860bd04064759dc6ad43c230d50fe7ace52eff --- /dev/null +++ b/eng/common/templates/variables/sdl-variables.yml @@ -0,0 +1,7 @@ +variables: +# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in +# sync with the packages.config file. +- name: DefaultGuardianVersion + value: 0.110.1 +- name: GuardianPackagesConfigFile + value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config \ No newline at end of file diff --git a/global.json b/global.json index a852dd17154be5ad6722c041a1f63e0e24c85870..05ed9cd7faca029f874fb92c428b51d5f4bd4c55 100644 --- a/global.json +++ b/global.json @@ -29,7 +29,7 @@ }, "msbuild-sdks": { "Yarn.MSBuild": "1.22.10", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22122.7", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22122.7" + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22161.1", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22161.1" } } diff --git a/src/Components/Components/src/Routing/QueryParameterValueSupplier.cs b/src/Components/Components/src/Routing/QueryParameterValueSupplier.cs index 3243c41618d98fab6e6b289e5fa1fec03a6d7064..d35d3135d7becf5ce12e4b722009164910d8cb7c 100644 --- a/src/Components/Components/src/Routing/QueryParameterValueSupplier.cs +++ b/src/Components/Components/src/Routing/QueryParameterValueSupplier.cs @@ -3,7 +3,7 @@ using System; using System.Buffers; -using System.Collections.Generic; +using System.Collections.Concurrent; using System.Diagnostics.CodeAnalysis; using System.Reflection; using Microsoft.AspNetCore.Components.Reflection; @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Components.Routing { public static void ClearCache() => _cacheByType.Clear(); - private static readonly Dictionary<Type, QueryParameterValueSupplier?> _cacheByType = new(); + private static readonly ConcurrentDictionary<Type, QueryParameterValueSupplier?> _cacheByType = new(); // These two arrays contain the same number of entries, and their corresponding positions refer to each other. // Holding the info like this means we can use Array.BinarySearch with less custom implementation. diff --git a/src/Installers/Rpm/Directory.Build.props b/src/Installers/Rpm/Directory.Build.props index 17abde691b66278282b8caf6425c414cf23c2d48..b436fc469b10fb94daf0fa4ba17e21e4f8e9193b 100644 --- a/src/Installers/Rpm/Directory.Build.props +++ b/src/Installers/Rpm/Directory.Build.props @@ -9,9 +9,15 @@ <IntermediateOutputPath>$(IntermediateOutputPath)$(TargetRuntimeIdentifier)\</IntermediateOutputPath> <OutputPath>$(InstallersOutputPath)</OutputPath> + <CblMariner1VersionSuffix>-cm.1</CblMariner1VersionSuffix> + <CblMariner2VersionSuffix>-cm.2</CblMariner2VersionSuffix> + <!-- All installers are shipping assets. --> <IsShipping>true</IsShipping> <IsPackable>true</IsPackable> - </PropertyGroup> + <!-- RPM files are platform-specific and should be named appropriately. --> + <RpmArch Condition=" '$(TargetArchitecture)' == 'x64' ">x64</RpmArch> + <RpmArch Condition=" '$(TargetArchitecture)' == 'arm64' ">aarch64</RpmArch> + </PropertyGroup> </Project> diff --git a/src/Installers/Rpm/Directory.Build.targets b/src/Installers/Rpm/Directory.Build.targets index 0a4283f81c6616c7715c62e79d8420576f04085e..4fe38e018bc1c93b6d34d4d8f5e8d94b9d0dcbed 100644 --- a/src/Installers/Rpm/Directory.Build.targets +++ b/src/Installers/Rpm/Directory.Build.targets @@ -18,7 +18,7 @@ <Target Name="PrepareForBuild"> <MakeDir Directories="$(IntermediateOutputPath)" /> - <Error Text="Currently only linux-x64 is supported by Rpm installers." Condition=" '$(TargetRuntimeIdentifier)' != 'linux-x64' " /> + <Error Text="Currently only linux-x64 and linux-arm64 are supported by Rpm installers." Condition=" '$(TargetRuntimeIdentifier)' != 'linux-x64' AND '$(TargetRuntimeIdentifier)' != 'linux-arm64'" /> <Error Text="Missing required property: RpmPackageInstallRoot" Condition=" '$(RpmPackageInstallRoot)' == '' " /> <Error Text="Missing required property: PackageContentRoot" Condition=" '$(PackageContentRoot)' == '' " /> @@ -37,6 +37,11 @@ <Target Name="Pack" /> <Target Name="RpmBuild" DependsOnTargets="$(RpmBuildDependsOn)"> + <PropertyGroup> + <CblMariner1TargetPath>$(InstallersOutputPath)$(CblMarinerBaseName)$(CblMariner1VersionSuffix)$(CblMarinerExtension)</CblMariner1TargetPath> + <CblMariner2TargetPath>$(InstallersOutputPath)$(CblMarinerBaseName)$(CblMariner2VersionSuffix)$(CblMarinerExtension)</CblMariner2TargetPath> + </PropertyGroup> + <!-- Create layout: Create changelog --> <PropertyGroup> <ChangeLogProps>DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))</ChangeLogProps> @@ -51,10 +56,6 @@ <GenerateFileFromTemplate TemplateFile="$(MSBuildThisFileDirectory)changelog.in" OutputPath="$(GeneratedChangeLog)" Properties="$(ChangeLogProps)" /> <!-- Run fpm --> - <PropertyGroup> - <RpmArch Condition=" '$(TargetArchitecture)' == 'x64' ">amd64</RpmArch> - </PropertyGroup> - <ItemGroup> <FpmArgs Include="--verbose" /> <FpmArgs Include="--input-type=dir" /> @@ -79,12 +80,12 @@ <Exec Command="fpm @(FpmArgs,' ')" /> <Copy SourceFiles="$(TargetPath)" - DestinationFiles="$(CblMarinerTargetPath)" + DestinationFiles="$(CblMariner1TargetPath)" OverwriteReadOnlyFiles="True" SkipUnchangedFiles="False" UseHardlinksIfPossible="False" /> - <Message Text="$(TargetPath) -> $(CblMarinerTargetPath)" Importance="high" /> + <Message Text="$(TargetPath) -> $(CblMariner1TargetPath)" Importance="high" /> <Copy SourceFiles="$(TargetPath)" DestinationFiles="$(CblMariner2TargetPath)" diff --git a/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj b/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj index e24ebf037af145813b856413479bd6ad245f1430..5e0427aea7f8beaa35061fba0579f362d83b5c3c 100644 --- a/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj +++ b/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj @@ -1,5 +1,5 @@ <!-- - This project produces a generic RPM installer for Linux x64 platforms only. + This project produces a generic RPM installer for Linux x64/arm64 platforms only. --> <Project DefaultTargets="Build"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" /> @@ -12,11 +12,9 @@ <Import Project="..\Rpm.Runtime.Common.targets" /> <PropertyGroup> - <TargetFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.rpm</TargetFileName> - <CblMarinerTargetFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-cm.1-x64.rpm</CblMarinerTargetFileName> - <CblMariner2TargetFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-cm.2-x64.rpm</CblMariner2TargetFileName> + <TargetFileName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)-$(RpmArch).rpm</TargetFileName> <TargetPath>$(InstallersOutputPath)$(TargetFileName)</TargetPath> - <CblMarinerTargetPath>$(InstallersOutputPath)$(CblMarinerTargetFileName)</CblMarinerTargetPath> - <CblMariner2TargetPath>$(InstallersOutputPath)$(CblMariner2TargetFileName)</CblMariner2TargetPath> + <CblMarinerBaseName>$(RuntimeInstallerBaseName)-$(SharedFxVersion)</CblMarinerBaseName> + <CblMarinerExtension>-$(RpmArch).rpm</CblMarinerExtension> </PropertyGroup> </Project> diff --git a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj index 77217207580c80b1bb61bd9a6ae08bd3dd5ec706..469d08471c16aaa390e4c97069d79443bca012d4 100644 --- a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj +++ b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj @@ -29,13 +29,11 @@ <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> <PropertyGroup> - <TargetFileName>$(TargetingPackInstallerBaseName)-$(TargetingPackVersion).rpm</TargetFileName> - <CblMarinerTargetFileName>$(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-cm.1.rpm</CblMarinerTargetFileName> - <CblMariner2TargetFileName>$(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-cm.2.rpm</CblMariner2TargetFileName> + <TargetFileName>$(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-$(RpmArch).rpm</TargetFileName> <TargetPath>$(InstallersOutputPath)$(TargetFileName)</TargetPath> - <CblMarinerTargetPath>$(InstallersOutputPath)$(CblMarinerTargetFileName)</CblMarinerTargetPath> - <CblMariner2TargetPath>$(InstallersOutputPath)$(CblMariner2TargetFileName)</CblMariner2TargetPath> - + <CblMarinerBaseName>$(TargetingPackInstallerBaseName)-$(TargetingPackVersion)</CblMarinerBaseName> + <CblMarinerExtension>-$(RpmArch).rpm</CblMarinerExtension> + <PackageVersion>$(TargetingPackVersionPrefix)</PackageVersion> <!-- Set package revision to '1' for RTM releases, but include the build number in pre-releases -->