Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the Ubuntu build on s390x #18

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

iii-i
Copy link

@iii-i iii-i commented Jul 31, 2024

Hi,

I was asked if gaplib worked on s390x Ubuntu with the latest runner and realized that it's unfortunately quite broken at the moment. This PR summarizes my findings.

Uli gave me a hint on how to resolve the self-contained build issue for testing, so now everything fully works.


  • convert-rpm.sh uses hardcoded package versions, which can no longer
    be found each time AlmaLinux is updated. Always fetch the current
    versions.

  • Fix ShellCheck warnings in this script.

  • Don't silence wget output so that the script is debuggable.

  • Remove the unnecessary "exit 0" at the end.

  • Account for alien errors like the following:

    Unpacking of 'dotnet-host-8.0.4-2.el9_4.s390x.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line 168.

    and add a workaround from [1].

  • Rebase runner-s390x.patch.

  • Use SDK 8 on s390x, since that's what the latest runner requires.

  • Move ARGS a bit lower in the Dockerfile to improve caching.

  • Turn off package signature verification. AlmaLinux's .NET may contain
    an outdated trust store. See [2] for details.

  • Fix the packs symlinks.

  • Pass /p:SelfContained=false to the test runner in order to avoid
    apphost issues in ./dev.sh test.

[1] #14
[2] https://learn.microsoft.com/en-us/dotnet/core/tools/nuget-signed-package-verification

* convert-rpm.sh uses hardcoded package versions, which can no longer
  be found each time AlmaLinux is updated. Always fetch the current
  versions.

* Fix ShellCheck warnings in this script.

* Don't silence wget output so that the script is debuggable.

* Remove the unnecessary "exit 0" at the end.

* Account for alien errors like the following:

    Unpacking of 'dotnet-host-8.0.4-2.el9_4.s390x.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line 168.

  and add a workaround from [1].

* Rebase runner-s390x.patch.

* Use SDK 8 on s390x, since that's what the latest runner requires.

* Move ARGS a bit lower in the Dockerfile to improve caching.

* Turn off package signature verification. AlmaLinux's .NET may contain
  an outdated trust store. See [2] for details.

* Fix the packs symlinks.

* Pass /p:SelfContained=false to the test runner in order to avoid
  apphost issues in ./dev.sh test.

[1] anup-kodlekere#14
[2] https://learn.microsoft.com/en-us/dotnet/core/tools/nuget-signed-package-verification
@iii-i iii-i marked this pull request as ready for review August 1, 2024 11:24
@iii-i
Copy link
Author

iii-i commented Aug 1, 2024

@anup-kodlekere @nealef Uli helped resolve the testing issue, and how things fully work for me. Could you take a look please?

@anup-kodlekere
Copy link
Owner

@nealef this seems to be in your territory, could you review this please? Also do you think this makes any of the previous PRs redundant?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants