Skip to content

Conversation

@am11
Copy link
Member

@am11 am11 commented Jul 16, 2021

Fixes the Tizen/armel regression from 566b53a; we had a special case for armel crossgen2 build which was missed.

@clamp03
Copy link
Member

clamp03 commented Jul 16, 2021

@am11 Thank you so much!!! :)

Copy link
Member

@clamp03 clamp03 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked that it works well for armel build

@terrajobst terrajobst added the community-contribution Indicates that the PR has been added by a community member label Jul 19, 2021
@clamp03
Copy link
Member

clamp03 commented Jul 21, 2021

@jkotas Could you review this PR? It fixes Tizen armel build fail. Thank you.

<_runtimeOS Condition="$(_runtimeOS.StartsWith('tizen'))">linux</_runtimeOS>
<_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS>

<_packageOS Condition="'$(CrossBuild)' == 'true'">$(_hostOS.ToLowerInvariant)</_packageOS>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the difference between portableOS, runtimeOS and packageOS? I think it can use some comments.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the intermediate private properties. I think we should document the four public properties (which are in PascalCasing, without underscore), and also explain the process of calculation that is inherently complex.

<PackageRID Condition="'$(PackageRID)' == ''">$(_runtimeOS)-$(TargetArchitecture)</PackageRID>
<PackageRID>$(_packageOS)-$(TargetArchitecture)</PackageRID>

<!-- Crossgen2 does not support armel, so we will use arm instead. -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that crossgen2 is able to produce armel binaries, no? What does it mean that crossgen2 does not support armel?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it is some sort of crossgen2 specific hack, I think it would be better to have it in crossgen2.csproj like before this change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

crossgen2 just does not have package name with armel, it uses arm architecture name for both soft and hard fp.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know what the reason for that is? Is it just to minimize build/package targets?

@jkotas jkotas requested a review from ViktorHofer July 21, 2021 10:58
Comment on lines +172 to +173
<Crossgen2PackageRID Condition="'$(TargetArchitecture)' == 'armel'">$(_packageOS)-arm</Crossgen2PackageRID>
<Crossgen2PackageRID Condition="'$(TargetArchitecture)' != 'armel'">$(PackageRID)</Crossgen2PackageRID>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we using that property anywhere else than in crossgen2.csproj? If not, would it make sense to move this code over there?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea was to gather all kinds of RID resolving code in one place and avoid any one-off exception. Otherwise it starts with one exception and then goes haywire. 😁

MicrosoftNetCoreIlasmPackageRuntimeId is also similar RID which we have defined above.

Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside from a few questions LGTM. Thanks a lot @am11

@clamp03
Copy link
Member

clamp03 commented Jul 30, 2021

@ViktorHofer Can it be merged? ARMEL BUILD is broken for over 20 days. I want to proceed ARMEL Build CI (#56281) after ARMEL build works well. Thank you.

@ViktorHofer
Copy link
Member

@am11 is there anything else left here to do? Otherwise after re-triggering CI this should be good to merge.

@ViktorHofer
Copy link
Member

/azp run runtime

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ViktorHofer
Copy link
Member

/azp run dotnet-linker-tests

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ViktorHofer
Copy link
Member

/azp run runtime-dev-innerloop

@ViktorHofer
Copy link
Member

/azp run runtime-staging

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@am11
Copy link
Member Author

am11 commented Jul 30, 2021

@ViktorHofer, it is ready from my point of view. The goal is to have a flat list of all kinds of RID derivations for build in one place.

@ViktorHofer ViktorHofer merged commit 2657297 into dotnet:main Jul 30, 2021
@ViktorHofer
Copy link
Member

Thanks a lot @am11

@am11 am11 deleted the fix/tizen-build branch July 30, 2021 20:18
@am11 am11 mentioned this pull request Jul 31, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-crossgen2-coreclr community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants