Fix prepending duplicate sys_root to python build configs#15589
Fix prepending duplicate sys_root to python build configs#15589mgorny wants to merge 4 commits intomesonbuild:masterfrom
Conversation
|
Sorry about the Ubuntu test failure. I'll try to reproduce and fix it tomorrow. |
|
Uh, is Ubuntu's pkg-config broken? |
|
Are they still using fd.o pkg-config instead of pkgconf? |
Looks like it: |
|
The macOS failures don't seem relevant. |
|
Looks good, but please replace |
|
Done and rebased. |
|
Thanks, can you also squash the first three commits? |
|
Sure. Don't really get why these three, but sure :-). |
|
Because the destdir_join part is a separate bug fix. Thanks, I will merge when CI finishes, just to be safe. |
destdir_join(a, b) is equal to a + b on not-Windows, so it is fine to use a + b inside find_libpy_notwindows(). I find your request to be poor nitpicking and also a micro-deoptimization. |
Commit "Fix get_windows_link_args() return value" is a Squashing is always correct for this. Commit "Skip pkgconfig+sysroot test without pkgconf" can be reasonably argued to be a standalone change, regardless of whether fixing duplicate sysroot was the motivation to discover it. I think it's fine to leave as two commits. |
Sure, not in the Windows cases though, and it's easier to write and review if all of them are replaced.
True, but as a separate commit after the main one it breaks |
The worst case scenario would be that it breaks bisecting in a single CI job that exists to test whether meson still works on Python 3.7 / Ubuntu Bionic, and that is only because it is likely too much effort for too little reward to compile pkgconf just for this CI runner, whereas anyone actually relying on the CI-tested scenario would be motivated to build pkgconf there... (it is generally a bad idea to try to do anything cross with fd.o pkgconfig at this point). |
Fix the logic responsible for handling python build configs to check if paths from `build-details.json` start with sys_root, and do not prepend it if they do. This matches the pkg-config behavior (of `PKG_CONFIG_SYSROOT_DIR`). It permits using it both with sysroots that are a regular system mounted in a subdirectory, and that are dedicated prefixes (e.g. created via conda). Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
|
Restored the separate "skip" commit, switched to |
Fix the logic responsible for handling python build configs to check if paths from
build-details.jsonstart with sys_root, and do not prepend it if they do. This matches the pkg-config behavior (ofPKG_CONFIG_SYSROOT_DIR). It permits using it both with sysroots that are a regular system mounted in a subdirectory, and that are dedicated prefixes (e.g. created via conda).