-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[5.8] On ELF platforms, only add runpaths as needed (#6321) #6430
Conversation
As long as I'm modifying the Python bootstrap script, clean up some incorrect checks of the host `platform.system()` and replace some unnecessary regexes.
@swift-ci please smoke test |
MacOS SPM test failure appears unrelated, flake?
|
I think so, yah. @tomerd are we planning on any more non-Darwin releases for 5.8? |
there isn't one panned right now, but we normally try to get one going if there is enough / urgent fixes |
@neonichu, one last mac CI run and this can go in? I see the 5.8 branch still being updated for the compiler and stdlib. |
@buttaface yes we can pull this in when we do a linux dot release (tbd exactly when) |
@swift-ci smoke test macOS |
Huh, the same SPM test failed again on macOS, but this pull should change nothing on macOS, and passed fine on 5.9 and trunk. I have little insight into macOS failures, anyone know what's going on? |
@neonichu @abertelrud looks like @swift-ci smoke test macOS |
That's possible, I think we realized that the way we're checking for compiler compatibility could be using the superior toolchain instead of the inferior one. |
@swift-ci smoke test macOS |
Same test failed a third time, doesn't appear to be a flake. I compared the commit log for that file to trunk, and I see two pulls that recently modified that test in trunk and 5.9 that are not in the 5.8 branch, #6076 and #6080. I have not looked into what triggers those, but perhaps the 5.8 CI is just broken right now because it needs some of those changes? This pull should change nothing on macOS and so shouldn't be at fault. |
lets see what an empty PR does: #6455 |
@swift-ci smoke test macOS |
Cherrypick of #6321
Explanation: The bootstrap script currently adds two relative runpaths for ELF platforms, one for the PackageDescription and other libraries and another for the single
swift-package
executable, but since they're applied on the command line, both runpaths are applied to all binaries. This pull separates out the runpaths and only applies each where needed. It also shifts much of the bootstrap script over to applying build flags based on the build target, not on checking the build host platform in Python.Scope: Should only affect the SPM build on ELF platforms like linux
Issue: None
Risk: low, as it only affects building SPM for ELF platforms
Testing: Passed all CI, including a trunk toolchain build that worked well
Reviewer: @neonichu