Skip to content

Conversation

@jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Aug 13, 2025

Contributes to dotnet/arcade#16047

Make duplicate deb/rpm packages so we can sign them with the new PMC key

Description

PMC has added a new signing key for packages published to repositories for new Linux distributions they will add support for, such as Debian 13 and SLES vNext. Packages pushed to these feeds must be signed with the new key. Existing feeds will maintain the same keys. The .NET signing infrastructure requires us to have separate copies of the package files to have them signed with different keys. This PR introduces separate copies of the DEB and RPM installers to be signed with the new signing keys.

Contributes to dotnet/arcade#16047

Customer Impact

Without this change, we can't ship .deb installers for Debian 13. With this change, we can.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

[Justify the selection above]

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

@jkoritzinsky
Copy link
Member Author

/backport to release/8.0

@dotnet-policy-service dotnet-policy-service bot added this to the 9.0.x milestone Aug 13, 2025
@github-actions
Copy link
Contributor

Started backporting to release/8.0: https://github.com/dotnet/aspnetcore/actions/runs/16951661469

@jkoritzinsky jkoritzinsky added the tell-mode Indicates a PR which is being merged during tell-mode label Aug 13, 2025
@jkoritzinsky jkoritzinsky added the Servicing-consider Shiproom approval is required for the issue label Aug 15, 2025
@jkoritzinsky jkoritzinsky marked this pull request as ready for review August 15, 2025 21:51
Copilot AI review requested due to automatic review settings August 15, 2025 21:51
@jkoritzinsky jkoritzinsky requested review from a team and wtgodbe as code owners August 15, 2025 21:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR creates duplicate DEB and RPM package files to support signing with a new PMC (Package Manager Client) key for upcoming Linux distributions like Debian 13 and SLES vNext, while maintaining existing keys for current feeds.

  • Introduces new build properties and targets for creating "newkey" variants of installer packages
  • Adds copy operations to generate duplicate package files with "-newkey" suffixes
  • Maintains existing build processes while extending them to support dual signing requirements

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Installers/Rpm/Directory.Build.props Adds NewKeyVersionSuffix property for RPM packages
src/Installers/Rpm/Directory.Build.targets Implements copy operation to create newkey RPM variants
src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj Defines NewKeyBaseName and NewKeyExtension properties
src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj Defines NewKeyBaseName and NewKeyExtension properties
src/Installers/Debian/Directory.Build.targets Implements copy operation to create newkey DEB variants
src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj Defines NewKeyTargetFileName property
src/Installers/Debian/Runtime/Debian.Runtime.debproj Defines NewKeyTargetFileName property

<BuildScriptOutputFileName>$(PackageId)_$(DebPackageVersion)-$(PackageRevision)_$(DebianPackageArch).deb</BuildScriptOutputFileName>
</PropertyGroup>

<Copy SourceFiles="$(IntermediateOutputPath)out/$(BuildScriptOutputFileName)" DestinationFiles="$(TargetPath)" />
Copy link

Copilot AI Aug 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The copy operation lacks consistency with the RPM implementation. Consider adding a message task similar to line 114 in the RPM Directory.Build.targets to provide feedback about the copy operation.

Suggested change
<Copy SourceFiles="$(IntermediateOutputPath)out/$(BuildScriptOutputFileName)" DestinationFiles="$(TargetPath)" />
<Copy SourceFiles="$(IntermediateOutputPath)out/$(BuildScriptOutputFileName)" DestinationFiles="$(TargetPath)" />
<Message Text="Copying $(IntermediateOutputPath)out/$(BuildScriptOutputFileName) to $(OutputPath)$(NewKeyTargetFileName)" Importance="high" />

Copilot uses AI. Check for mistakes.
@rbhanda rbhanda modified the milestones: 9.0.x, 9.0.10 Aug 21, 2025
@rbhanda rbhanda added Servicing-approved Shiproom has approved the issue and removed Servicing-consider Shiproom approval is required for the issue labels Aug 21, 2025
github-actions bot pushed a commit to saan800/saansoft-correlationid that referenced this pull request Dec 31, 2025
….Extensions.Logging.Abstractions (#178)

Updated
[Microsoft.AspNetCore.TestHost](https://github.com/dotnet/aspnetcore)
from 9.0.9 to 9.0.11.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.TestHost's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 9.0.11

[Release](https://github.com/dotnet/core/releases/tag/v9.0.11)

## What's Changed
* Update branding to 9.0.11 by @​vseanreesermsft in
dotnet/aspnetcore#63950
* [release/9.0] Update dependencies from dotnet/extensions by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63677
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63678
* [release/9.0] (deps): Bump src/submodules/googletest from `eb2d85e` to
`9706f75` by @​dependabot[bot] in
dotnet/aspnetcore#63894
* [release/9.0] Fixed devtools url used for debug with chrome and edge
by @​github-actions[bot] in
dotnet/aspnetcore#61948
* [release/9.0] (http2): Lower WINDOWS_UPDATE received on (half)closed
stream to stream abortion by @​DeagleGross in
dotnet/aspnetcore#63934
* [release/9.0] Re-quarantine
ServerRoutingTest.NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation
by @​github-actions[bot] in
dotnet/aspnetcore#63956
* [release/9.0] Fix nginx install on mac, linux by @​wtgodbe in
dotnet/aspnetcore#63966
* [Hot Reload] Do not attempt to apply empty deltas. by @​tmat in
dotnet/aspnetcore#63979
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/aspnetcore#64036
* Revert log level severity for unknown proxy in
ForwardedHeadersMiddleware by @​BrennanConroy in
dotnet/aspnetcore#64091
* Set timeoutInMinutes to 0 for Windows build job by @​vseanreesermsft
in dotnet/aspnetcore#64126


**Full Changelog**:
dotnet/aspnetcore@v9.0.10...v9.0.11

## 9.0.10

[Release](https://github.com/dotnet/core/releases/tag/v9.0.10)

## What's Changed
* Update branding to 9.0.10 by @​vseanreesermsft in
dotnet/aspnetcore#63510
* [9.0] Make duplicate deb/rpm packages so we can sign them with the new
PMC key by @​jkoritzinsky in
dotnet/aspnetcore#63249
* [release/9.0] Extend Unofficial 1ES template in IdentityModel nightly
tests job by @​github-actions[bot] in
dotnet/aspnetcore#63465
* [release/9.0] (deps): Bump src/submodules/googletest from `373af2e` to
`eb2d85e` by @​dependabot[bot] in
dotnet/aspnetcore#63501
* [release/9.0] Quarantine ResponseBody_WriteContentLength_PassedThrough
by @​wtgodbe in dotnet/aspnetcore#63533
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63304
* [release/9.0] [OpenAPI] Use invariant culture for TextWriter by
@​martincostello in dotnet/aspnetcore#62239
* [release/9.0] Update dependencies from dotnet/extensions by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63303
* Unquarantine `RadioButtonGetsResetAfterSubmittingEnhancedForm` by
@​ilonatommy in dotnet/aspnetcore#63556
* [release/9.0] Update dependencies from dotnet/extensions by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63577
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/aspnetcore#63604
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#63648
* backport(9.0): Fix runtime architecture detection logic in ANCM. by
@​DeagleGross in dotnet/aspnetcore#63707


**Full Changelog**:
dotnet/aspnetcore@v9.0.9...v9.0.10

Commits viewable in [compare
view](dotnet/aspnetcore@v9.0.9...v9.0.11).
</details>

Updated
[Microsoft.Extensions.Logging.Abstractions](https://github.com/dotnet/runtime)
from 9.0.9 to 9.0.11.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Logging.Abstractions's
releases](https://github.com/dotnet/runtime/releases)._

## 9.0.11

[Release](https://github.com/dotnet/core/releases/tag/v9.0.11)

## What's Changed
* [release/9.0-staging] Fix DefaultIfEmptyIterator.TryGetElementAt
returning default value for out-of-bounds indices by
@​github-actions[bot] in dotnet/runtime#119844
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#119981
* [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by
@​github-actions[bot] in dotnet/runtime#119978
* [release/9.0-staging] Add acquire barrier to populate bit reading by
@​github-actions[bot] in dotnet/runtime#119967
* [release/9.0-staging] Bump System.Text.Json toolset version by
@​github-actions[bot] in dotnet/runtime#113385
* [release/9.0-staging] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120034
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#120033
* [release/9.0-staging] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/runtime#120020
* [release/9.0-staging] `UnsafeAccessor` - ambiguous name and signature
match by @​AaronRobinsonMSFT in
dotnet/runtime#120011
* [release/9.0] Bump OSX.12 helix queues to OSX.13 by @​steveisok in
dotnet/runtime#119814
* [release/9.0-staging] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120128
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#120129
* [release/9.0-staging] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/runtime#120106
* [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by
@​github-actions[bot] in dotnet/runtime#120057
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#120240
* [release/9.0] [mono] Make the compressed interface bitmap feature
usable by @​BrzVlad in dotnet/runtime#120154
* [release/9.0-staging] Remove an STJ deep nested object test causing
occasional failures by @​github-actions[bot] in
dotnet/runtime#120265
* [release/9.0-staging] Update dependencies from dotnet/hotreload-utils
by @​dotnet-maestro[bot] in
dotnet/runtime#120331
* [release/9.0-staging] Detect if RSA-384 is supported on the platform
by @​vcsjones in dotnet/runtime#120382
* [release/9.0-staging] Load Standalone GC correctly in component
scenarios. by @​github-actions[bot] in
dotnet/runtime#120236
* [release/9.0-staging] [mono][hotreload] Make the runtime ignore an
update if it is an empty one by @​github-actions[bot] in
dotnet/runtime#120335
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#120349
* [release/9.0-staging] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120397
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#120418
* [release/9.0-staging] Update dependencies from dotnet/xharness by
@​dotnet-maestro[bot] in dotnet/runtime#120425
* [release/9.0-staging] Update dependencies from dotnet/hotreload-utils
by @​dotnet-maestro[bot] in
dotnet/runtime#120404
* [release/9.0-staging] Prevent format injection in hosting Windows PAL
printf functions when redirected to file by @​jkoritzinsky in
dotnet/runtime#119786
* [release/9.0-staging] Update dependencies from dotnet/runtime-assets
by @​dotnet-maestro[bot] in
dotnet/runtime#120417
* Update branding to 9.0.11 by @​vseanreesermsft in
dotnet/runtime#120474
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#120586
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#120409
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120396
* [release/9.0-staging] [mono][interp] Fix various leaks, primarily
around dynamic methods by @​BrzVlad in
dotnet/runtime#120600
* [release/9.0-staging] [mono][sgen] Fix incorrect condition when
checking if we should do a major collection by @​github-actions[bot] in
dotnet/runtime#120533
* [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by
@​github-actions[bot] in dotnet/runtime#120570
* [manual] Merge release/9.0-staging into release/9.0 by
@​PranavSenthilnathan in dotnet/runtime#120615
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/runtime#120719
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120765
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#120779
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#120814
* [release/9.0] Update Microsoft.Build.* versions to 17.8.43 by
@​PranavSenthilnathan in dotnet/runtime#120820


**Full Changelog**:
dotnet/runtime@v9.0.10...v9.0.11

## 9.0.10

[Release](https://github.com/dotnet/runtime/releases/tag/v9.0.9)

## What's Changed
* [release/9.0-staging] Disable release assert on disallowed thread
re-initialization for managed C++ by @​github-actions[bot] in
dotnet/runtime#118842
* [release/9.0-staging] [wasm][AOT] fix codegen for small structs on
stack by @​github-actions[bot] in
dotnet/runtime#118416
* Update branding to 9.0.10 by @​vseanreesermsft in
dotnet/runtime#119280
* [release/9.0-staging] Don't use vfork on android by
@​github-actions[bot] in dotnet/runtime#118331
* [release/9.0-staging] [mono][debugger] Fix assertion when stepping by
@​github-actions[bot] in dotnet/runtime#118459
* [release/9.0-staging][maccatalyst] Check for -Wno-overriding-option
for compatibility with clang in Xcode 16.3+ by @​akoeplinger in
dotnet/runtime#119301
* [release/9.0-staging][HTTP] Stress fix for docker compose by
@​ManickaP in dotnet/runtime#119455
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/runtime#119505
* [9.0] Preserve Lock ID Members by @​jkoritzinsky in
dotnet/runtime#119281
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#118940
* [release/9.0-staging] Update dependencies from dotnet/hotreload-utils
by @​dotnet-maestro[bot] in
dotnet/runtime#118151
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#118372
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#118423
* [release/9.0-staging] Update dependencies from dotnet/roslyn by
@​dotnet-maestro[bot] in dotnet/runtime#118193
* [release/9.0-staging] Update dependencies from dotnet/runtime-assets
by @​dotnet-maestro[bot] in
dotnet/runtime#118758
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119619
* [release/9.0-staging] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/runtime#119598
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#119620
* [release/9.0-staging] Update dependencies from dotnet/xharness by
@​dotnet-maestro[bot] in dotnet/runtime#119051
* [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by
@​github-actions[bot] in dotnet/runtime#118492
* [release/9.0-staging] [H/3] Fix interop tests. by
@​github-actions[bot] in dotnet/runtime#119522
* [release/9.0-staging] Disable tests parallelization in flaky OleDB
tests by @​github-actions[bot] in
dotnet/runtime#119626
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119690
* [release/9.0-staging] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#118224
* [release/9.0-staging] Update dependencies from dotnet/runtime-assets
by @​dotnet-maestro[bot] in
dotnet/runtime#119677
* [release/9.0-staging] Update dependencies from dotnet/hotreload-utils
by @​dotnet-maestro[bot] in
dotnet/runtime#119635
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#119669
* [release/9.0-staging] Fix recursion issue found in PROCCreateCrashDump
by @​github-actions[bot] in
dotnet/runtime#119128
* [release/9.0-staging] Update dependencies from dotnet/cecil by
@​dotnet-maestro[bot] in dotnet/runtime#119742
* [automated] Merge branch 'release/9.0' => 'release/9.0-staging' by
@​github-actions[bot] in dotnet/runtime#119721
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#119753
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119793
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#119809
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119832
* [release/9.0-staging] Update dependencies from dotnet/roslyn by
@​dotnet-maestro[bot] in dotnet/runtime#119830
* Backport macOS 26 Tahoe test fixes to release/9.0-staging by
@​vcsjones in dotnet/runtime#119716
* [release/9.0-staging] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#119871
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119872
* [release/9.0-staging] Disable Multicast SocketOption test by
@​github-actions[bot] in dotnet/runtime#119889
* [release/9.0-staging] Update dependencies from dotnet/icu by
@​dotnet-maestro[bot] in dotnet/runtime#119932
* [release/9.0] Update dependencies from dotnet/emsdk by
@​dotnet-maestro[bot] in dotnet/runtime#119900
* [manual] Merge release/9.0-staging into release/9.0 by @​tarekgh in
dotnet/runtime#119966
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120025
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/runtime#120111


**Full Changelog**:
dotnet/runtime@v9.0.9...v9.0.10

Commits viewable in [compare
view](dotnet/runtime@v9.0.9...v9.0.11).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Jan 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Servicing-approved Shiproom has approved the issue tell-mode Indicates a PR which is being merged during tell-mode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants