Uh oh!
There was an error while loading. Please reload this page.
Remove EOL Linux versions from runtime graph. - #82223
Conversation
ghost
commented
Feb 16, 2023
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue DetailsAnd, make it unnecessary to define RHEL minors by changing the Oracle Linux definitions. @wfurt@ViktorHofer@omajid ptal.
|
There was a problem hiding this comment.
Alpine 3.13 and previous are EOL 2022-11-01. (https://www.alpinelinux.org/releases/)
There was a problem hiding this comment.
Linux Mint 18 and previous are EOL April 2021 (https://endoflife.software/operating-systems/linux/linux-mint, https://linuxmint.com/download_all.php)
There was a problem hiding this comment.
openSuse 15.3 is EOL 2022-12-31, openSuse 42.3 is EOL 2019-07-01 (https://en.opensuse.org/Lifetime#Discontinued_distributions)
There was a problem hiding this comment.
Removed versions are EOL 2022-07-14 and before (https://wiki.ubuntu.com/Releases).
And make it unnecessary to define RHEL minors by changing the Oracle Linux definitions.
| <Parent>linux</Parent> | ||
| <Architectures>x64;arm64</Architectures> | ||
| <Versions>23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38</Versions> | ||
| <Versions>36;37;38</Versions> |
There was a problem hiding this comment.
Fedora 35 and previous are EOL 2022-12-13 (https://docs.fedoraproject.org/en-US/releases/eol/).
Uh oh!
There was an error while loading. Please reload this page.
| <Architectures>x64</Architectures> | ||
| <Versions>8;8.0</Versions> | ||
| <ApplyVersionsToParent>true</ApplyVersionsToParent> | ||
| <Versions>0;1;2;3;4;6;6</Versions> |
There was a problem hiding this comment.
We need to list out the minors because the host doesn't map them to a major, like it does for RHEL.
The previous definition required those minors to also be defined for RHEL.
This updated definition makes that unnecessary.
omajid
commented
Feb 16, 2023
My understanding was that removing RIDs is breaking backwards compatibility and simply not acceptable. If that's wrong, then cleaning up the RID graph sounds like a great idea! |
| <Architectures>x64</Architectures> | ||
| <Versions>8;8.0</Versions> | ||
| <ApplyVersionsToParent>true</ApplyVersionsToParent> | ||
| <Versions>0;1;2;3;4;6;6</Versions> |
There was a problem hiding this comment.
| <Versions>0;1;2;3;4;6;6</Versions> | |
| <Versions>0;1;2;3;4;5;6</Versions> |
| new RuntimeDescription("rhel.10-arm64", new[] { "rhel.10", "rhel.9-arm64" }) | ||
| new RuntimeDescription("rhel.10", new[] { "rhel" }), | ||
| new RuntimeDescription("rhel.10-x64", new[] { "rhel.10", "rhel-x64" }), | ||
| new RuntimeDescription("rhel.10-arm64", new[] { "rhel.10", "rhel-arm64" }) |
There was a problem hiding this comment.
The test changes are due combining the rhel 8 and 9 versions with TreatVersionsAsCompatible=false.
Alternatively, I can keep the split elements for 8 and 9 (without TreatVersionsAsCompatible), and only remove the minors.
That has no effect on the generated files, but the test can stay the same then.
wfurt
commented
Feb 16, 2023
jkotas
commented
Feb 16, 2023
Yes, it has been our policy so far. In particular, we are worried about nuget packages that are targeting out-of-support runtimes or OSes, but otherwise work just fine. |
tmds
commented
Feb 16, 2023
I think there aren't many of these nuget packages, but I'm just guessing. Should .NET 8 be able to consume assets that were built for a specific distro that EOLed one or several years ago? This graph is flattened in a list that is added to the runtime ( |
jkotas
commented
Feb 16, 2023
cc @richlander I agree with you that the current RID graph growth is not sustainable. It is why we have been looking into deprecating it in parallel conversion. This change gives us a bit more breathing room in near term. As you have said, we should understand how many packages are potentially impacted. @marklio Would it be possible to get insights into how many packages on nuget.org target specific Unix distros (e.g. Ubuntu)? |
am11
commented
Feb 16, 2023
Also during each app's startup, host deserializes JSON contents. e.g. on Arch Linux x64, corehost trace shows that the non-portable build is working with 22 lines (left) vs. portable build which is working with 2160 lines (right): https://www.diffchecker.com/hBye38Tc/.
+1, and if possible, also how many are using versioned RID (base OS: ps - while typing this, just noticed that versioned RID for windows has different format: |
ghost
commented
Mar 27, 2023
Added When you commit this breaking change:
Tagging @dotnet/compat for awareness of the breaking change. |
tmds
commented
Apr 13, 2023
I'm going to close this. It can always be reopened later, if needed. |
And, make it unnecessary to define RHEL minors by changing the Oracle Linux definitions.
@wfurt@ViktorHofer@omajid ptal.