Add Azure Linux 4 RPM support - #28021
Justin Chung (jshigetomi) merged 5 commits into
Conversation
Co-authored-by: Copilot App <[email protected]>
Co-authored-by: Copilot App <[email protected]>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🟢 Approval recommended
No unresolved review issues remain.
Pull request overview
Adds Azure Linux 4 RPM support using portable dependencies and stable x64/ARM64 repository mappings.
Changes:
- Updates CBL-Mariner dependencies to
krb5-libs. - Adds stable Azure Linux 4 repository mappings.
- Excludes Azure Linux 4 from preview mappings.
File summaries
| File | Summary |
|---|---|
tools/packaging/packaging.psm1 |
Updates CBL-Mariner RPM dependencies. |
tools/packages.microsoft.com/mapping.json |
Adds stable Azure Linux 4 repository mappings. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Anam Navied (anamnavi)
left a comment
There was a problem hiding this comment.
Looks good, please change the distribution value. Technically it should've been changed when adding the Azl3 entries, but we can address that in a separate PR. Bionic would be the distribution for Ubuntu 18.04
|
Also, only .NET 11 supports Azure Linux 4.0, so I don't think this change should be backported to 7.6 then.
|
Avoid recursively acquiring the named mutex so a telemetry-enabled process does not block subsequent shells when the UUID cache is missing. Add a bounded concurrent-process regression test. Co-authored-by: Copilot App <[email protected]>
Use the Azure Linux 4 runtime dependency contract, require the .NET 11 runtime only for framework-dependent packages, and correct the Azure Linux 4 PMC distribution metadata. Co-authored-by: Copilot App <[email protected]>
The telemetry mutex change is moving to an independent PR so this draft remains scoped to RPM dependencies and PMC routing. Co-authored-by: Copilot App <[email protected]>
93eadd1
into
PowerShell:master
PR Summary
.cmRPM dependencies with the current .NET 11 Azure Linux 3/4 runtime-deps contract.distribution: azl.Dependency contract
The dependency list now follows an immutable .NET 11 Azure Linux 4 runtime-deps source. Azure Linux 3 and 4 use the same base contract:
ca-certificatesglibciculibgcclibstdc++openssl-libstzdatadotnet-runtime-11.0for framework-dependent RPMsNeither .NET 11 runtime-deps list requires
krb5orkrb5-libs, so neither is imposed on every PowerShell installation. The obsoletezlibanddotnet-runtime-10.0requirements are also removed.PMC mapping
The stable mappings target:
azurelinux-4.0-beta-microsoft-x86_64azurelinux-4.0-beta-microsoft-aarch64The existing PMC release script remains mapping-driven and appends
-yum; no release-script change is needed. This PR does not publish or otherwise modify PMC state.Validation
Official preview artifacts were produced from GitHub/ADO-mirrored
release/v7.7.99-preview.94at exact SHA9e1bf1694d95a1e684b20039720ba438a2e94606:719739/bins-v7.7.99-preview.94-prod-719739719755/pkgs-v7.7.99-preview.94-prod-719755ReleaseAutomationTest-719777-psRun 719777 executed only
Download,AzureLinux40, andAzureLinuxCmRpmCompatibility; ordinary Windows, Linux, macOS, LTS, and Azure Linux 3 stages were skipped. Native x64 and ARM64 validation passed:2bc94fff7015a5f28f1537ad0cd9fed33135ce9011.0.0-rc.2.26452.102runtime on Azure Linux 4.0 Container Image BetaThe run also proved the separate #28026 telemetry fix on both architectures: the formerly blocked concurrent empty-cache child completed in 3 seconds within the 20-second gate while its telemetry-enabled holder remained alive.
This does not claim Azure Linux 4 support for PowerShell 7.6: .NET 10 does not list Azure Linux 4 as supported, and no 7.6 backport is requested.
PR Checklist