Uh oh!
There was an error while loading. Please reload this page.
Add missing OL releases to RID graph - #81115
Conversation
ghost
commented
Jan 24, 2023
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue DetailsIn PR, I’ve tried to address comments that #66783 received. I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far. Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.
I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.
|
omajid
commented
Jan 24, 2023
I am happy there are no minor-version RIDs for OL 9 🎉
I think it's a compatibility concern. If a user has used the RID in the past and we drop the RID in the graph, that might break applications, or at prevent the build/publish commands that were previously working from continuing to work. I don't know if these concerns still apply when adding it to repo here, because those RIDs weren't present previously so they wouldn't be treated as "removed"/"breaking" if they just not added. So maybe we can leave out the minor version RIDs from this PR? Will this really impact customers given the RID graph on nuget.org didn't have these versions already? Anyway, I wont block the addition of RHEL minor version IDs here. I don't see a harm. |
agocke
commented
Mar 13, 2023
While we're contemplating deprecating the whole RID graph (#83246), I'm going to close this for now. We can re-open if we end up not going in that direction |
Mr-Tao
commented
Mar 15, 2023
Thanks for taking the time to review the PR, @agocke. I like the idea of getting rid of RIDs very much. We are already following Red Hat by not introducing any more RIDs for minor versions of Oracle Linux 9. At the same time we still need to maintain the set of RIDs added on OL8 and OL7 to be able to build dotnet 3, 6 and 7. By including this change the Oracle Linux support would get on par with support for RHEL, Rocky and others. The change also does not add any complexity to the process of deprecation of RIDs when and if the time comes. |
@richlander until we execute on the RID plan changes, should we keep accepting these changes or close them? |
tmds
commented
Mar 21, 2023
You can't omit these minor versions until you update .NET to ignore the minor. That means adding code here: runtime/src/native/corehost/hostmisc/pal.unix.cpp Lines 766 to 770 in 31e4f40 (and similar for .NET 6). |
ViktorHofer
commented
Mar 24, 2023
ping @richlander regarding my above question |
carlossanlop
commented
Mar 24, 2023
Reopening this PR to continue the conversation. I closed the release/6.0 PR version of this change, since we would first need to merge the main version before taking a servicing version: #83681 Ping @richlander |
Mr-Tao
commented
May 1, 2023
Thanks for pointing this out, @tmds. Do you think that there’s anything else that needs to be added besides this change? https://github.com/dotnet/runtime/pull/81115/files#diff-b2bd8511e88327d8f146bc460e79182cc6826e2b90039dffc4f5f89c5467d12a |
| <Parent>linux</Parent> | ||
| <Architectures>x64;arm64</Architectures> | ||
| <Versions>8;8.0;8.1</Versions> | ||
| <Versions>8;8.0;8.1;8.2;8.3;8.4;8.5;8.6;8.7</Versions> |
There was a problem hiding this comment.
With the addition of changes to pal.unix.cpp, are these still necessary? What happens if you don't add all the new 8 RIDs to ol and rhel?
There was a problem hiding this comment.
I suppose that dotnet would build fine. If this is safe, why does RedHat still keep minors for 8? Could this be an issue for customer applications? 🤔
There was a problem hiding this comment.
If this is safe, why does Red Hat still keep minors for 8
It's mostly due to backwards compatibility. We added them to the RID graph for 8 before we finished all the fixes (eg, the pal.unix.cpp stuff), and now we can't remove them.
No one should be depending on the minor versions. It makes everyone's life harder.
MichaelSimons
commented
May 18, 2023
@agocke, @carlossanlop, @richlander - What is the plan for requests like this to update the RID graph? I know there is the proposed RID plan. What is the timeline for implementing it? This issue is affecting folks wanting to source-build .NET. |
agocke
commented
Jun 26, 2023
RID changes are in and breaking change is filed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/deployment/8.0/rid-asset-list RID graph is now frozen. |
In PR, I’ve tried to address comments that #66783 received.
I’m very much in favour of adding only major versions to the RID graph, as @omajid suggested in #66783 (comment). In Oracle Linux, we have been adding minor versions for Dotnet versions up to 7.9 and 8.7 so far.
Since all minor versions should be compatible, dropping all minor versions from the graph may be possible. But I see that this didn’t happen with rhel minor versions already present in the graph, which lets me think about whether there are potential repercussions from dropping them. 🤔 I don’t know for sure, so I have kept minor versions.
I tried generating the graph without adding respective rhel RIDs. The task failed as expected, complaining about missing parents.