Skip to content

Clean up our runtime-deps packages and enable ARM64 Debs #112671

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Feb 20, 2025

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Feb 19, 2025

Our runtime-deps packages have not kept up with the various changes in our support matrix for various Linux distros and packages. This PR makes the following adjustments to our package definitions to match our support matrix:

  • CBL-Mariner 1/2 deps packages are deleted: .NET 10 will not support Mariner as it will be EOL by November.
  • The .deb package will only support installing on Debian Bookworm and newer: Ubuntu packages are provided by Canonical and Debian pre-Bookworm is EOL or will be EOL by November
  • CentOS Stream/RHEL/Fedora deps packages are deleted: These packages are provided by RedHat and we don't ship them.
  • OpenSuSE and SLES packages are updated to support (Leap) 15.6: This is the minimum version we support for .NET 10.

Also, this PR enables building ARM64 deb packages.

It also ensures that the AzureLinux 3 deps RPM is signed with the correct key from the start.

Contributes to #104013

Fixes #3298

Technically fixes #3768 as well

As a side note, this PR removes the last dependency we had on OpenSSL 1.0 (the old OpenSuSE 42 package). So after this PR goes in, we can remove OpenSSL 1.0 support from the product.

Copy link
Contributor

@Copilot 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.

Copilot wasn't able to review any files in this pull request.

Files not reviewed (12)
  • eng/Signing.props: Language not supported
  • src/installer/pkg/sfx/Directory.Build.props: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-centos.9.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-cm.2.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-debian.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-fedora.27.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-opensuse.15.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-opensuse.42.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-oraclelinux.8.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-rhel.8.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.proj: Language not supported
  • src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.15.proj: Language not supported

@richlander
Copy link
Member

FYI @vcsjones -- Look like OpenSSL 1.1.1 will be our min-bar dependency for .NET 10. I think you said that this version would be a simplifiying, as opposed to earlier versions. Note that we cannot drop OpenSSL 1.x until Ubuntu 22.04 plays the role that 18.04 does now for us.

…de the version that we know any debian distro has.
@lewing
Copy link
Member

lewing commented Feb 19, 2025

/azp run runtime

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

jkoritzinsky added a commit to jkoritzinsky/runtime that referenced this pull request Feb 19, 2025
As ICU approaches version 80, we need to consider what to do about our ICU version ranges. Our system currently supports a min version of 50 and a max of "min + 30", so 80.

ICU60 is the version that shipped with Ubuntu 18.04, which is the distro that we base our libc version on. For Alpine, the version of ICU in the distro we base our libc on (3.17) ships with ICU 72.

I recommend that we bump our min to ICU60, which will by our current rules bump our max to ICU90, which will give us more runway.

I'd recommend holding off on merging this until dotnet#112671 is merged, as that PR changes our deps packages to better describe scenarios where we actually ship packages today.
@NikolaMilosavljevic
Copy link
Member

@leecow does this require any changes in release infra?

@leecow
Copy link
Member

leecow commented Feb 20, 2025

We'll need to make updates when we want to start shipping debs for ARM and if there are any file name changes for the updated files.

@jkoritzinsky jkoritzinsky merged commit 9e2afd1 into dotnet:main Feb 20, 2025
146 of 150 checks passed
@jkoritzinsky jkoritzinsky deleted the prereqs-package-cleanup branch February 20, 2025 18:24
jkoritzinsky added a commit that referenced this pull request Feb 20, 2025
* Bump the minimum ICU version to 60

As ICU approaches version 80, we need to consider what to do about our ICU version ranges. Our system currently supports a min version of 50 and a max of "min + 30", so 80.

ICU60 is the version that shipped with Ubuntu 18.04, which is the distro that we base our libc version on. For Alpine, the version of ICU in the distro we base our libc on (3.17) ships with ICU 72.

I recommend that we bump our min to ICU60, which will by our current rules bump our max to ICU90, which will give us more runway.

I'd recommend holding off on merging this until #112671 is merged, as that PR changes our deps packages to better describe scenarios where we actually ship packages today.

* Remove old optional definition
@github-actions github-actions bot locked and limited conversation to collaborators Mar 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
5 participants