Uh oh!
There was an error while loading. Please reload this page.
Add Fedora 36 to the RID graph - #57832
Conversation
Fedora 36 is under development: $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/cat /etc/os-release NAME="Fedora Linux" VERSION="36 (Container Image Prerelease)" ID=fedora VERSION_ID=36 VERSION_CODENAME="" PLATFORM_ID="platform:f36" PRETTY_NAME="Fedora Linux 36 (Container Image Prerelease)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:36" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=rawhide PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Container Image" VARIANT_ID=container I couldn't get the changes runtime.json to show up until I built with a custom target. I updated readme.md with that extra information too.
ghost
commented
Aug 20, 2021
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
omajid
commented
Aug 20, 2021
Hey @ViktorHofer am I doing something wrong with |
Uh oh!
There was an error while loading. Please reload this page.
ViktorHofer
commented
Aug 20, 2021
I don't know what UpdateRuntimeJson is exactly doing without looking into its sources. I think @ericstj should be able to answer. |
Backport of dotnet#57832 Fedora 36 is under development: $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/cat /etc/os-release NAME="Fedora Linux" VERSION="36 (Container Image Prerelease)" ID=fedora VERSION_ID=36 VERSION_CODENAME="" PLATFORM_ID="platform:f36" PRETTY_NAME="Fedora Linux 36 (Container Image Prerelease)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:36" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=rawhide PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Container Image" VARIANT_ID=container
ericstj
commented
Aug 20, 2021
It would have when running pack. If you aren't packing you can run the target directly. I think the docs are unclear about this since they say "rebuild the project" which made sense when it was a dedicated pkgproj but is no longer the best wording now that it's a CSProj. I'm fine with the update you made to the docs. |
Backport of #57832 Fedora 36 is under development: $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/cat /etc/os-release NAME="Fedora Linux" VERSION="36 (Container Image Prerelease)" ID=fedora VERSION_ID=36 VERSION_CODENAME="" PLATFORM_ID="platform:f36" PRETTY_NAME="Fedora Linux 36 (Container Image Prerelease)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:36" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=rawhide PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Container Image" VARIANT_ID=container
ViktorHofer
commented
Aug 23, 2021
Merging as the previous run was successful and the recent commit just update a docs file. Thanks a lot @omajid |
@ericstj@ViktorHofer I thought, thanks to #50818, we no longer have to make these changes? |
ViktorHofer
commented
Aug 24, 2021
You likely want what's proposed in NuGet/Home#5862 as well. #50818 helps with source build as you can define a new RID via a variable but I don't see how this would help when not source building. |
tmds
commented
Aug 25, 2021
Yes.
I'm not aware of issues. |
tmds
commented
Aug 26, 2021
I changed my @ViktorHofer@ericstj unless we know why we need them, can we stop adding new distro versions RIDs? |
ViktorHofer
commented
Aug 27, 2021
How would you add fedora.40 specific package assets that shouldn't include to fedora.39 without having rids per version? |
tmds
commented
Aug 27, 2021
In practice, we've seen this is not scalable and it can cause applications to fail when a system is upgraded from one version to the next. Instead, I'd add assets for all supported Fedora versions, and pick the most appropriate at runtime (e.g. using For example LibGit2Sharp does this: https://github.com/libgit2/libgit2sharp/blob/6329bea6d315f563d7107982bccbea4325947808/LibGit2Sharp/Core/NativeMethods.cs#L149-L151. |
ViktorHofer
commented
Sep 2, 2021
My assumption is that the current design isn't scalable because of the issues listed in NuGet/Home#5862. cc @ericstj for his opinion |
ericstj
commented
Sep 2, 2021
#50818 helps folks avoid source changes when building dotnet/runtime on new distros. It doesn't eliminate the need to have discrete RIDs listed in the RID graph in order to support those new distros at runtime/design-time. The Host, NuGet, and SDK still depend on that. I'd love to see us eliminate that in v.Next. cc @richlander |
richlander
commented
Sep 3, 2021
My most frequent experience with this is with Alpine, which ships frequently. We're almost always waiting on new RIDs to release a new Alpine. That makes little sense to me. I think the order should be (using existing versions as examples):
Perhaps we could do this today, but it's not what we do. /cc @mthalman |
tmds
commented
Sep 3, 2021
For distros that move fast like Fedora and Alpine, we continuously need to upgrade the rid graph. That makes it impractical to use these rids, and a preferable solution is to do assets selection at runtime using NativeLibrary, RuntimeInformation.RuntimeIdentifier, ... It may still be interesting to target the parent rid (e.g. @richlander@ericstj your thoughts? |
Fedora 36 is under development:
I couldn't get the changes runtime.json to show up until I built with a customtarget. I updated readme.md with that extra information too.