Fix corehost RID generation logic for versionless distros #318
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Linux/Bash build script for
corehost
incorrectly assumes thatVERSION_ID
will be set after sourcing/etc/os-release
, which is not the case on rolling release distributions like Arch Linux. On such systems, callinginit_rid_plat
initializes base Runtime Identifier to values similar toarch.
which ultimately results in malformed RIDs likearch.-x64
and breaks the build process further down the line.With this change, if
VERSION_ID
is unset, then the dot will be omitted and final RID will be more correctarch-x64
. On distributions withVERSION_ID
set in/etc/os-release
, this change doesn't affect the RID computation at all.Applying this fix allows former
core-setup
repository to correctly build on Arch Linux. Hopefully if this PR is accepted, it will be backported to .NET Core 3.1 too.(Issue and the fix discovered here, see that issue for more background info.)