mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
Adds support and documentation for the `MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE` environment variable. The "fallback" behaviour here should be backwards-compatible, which will enable us to piece-by-piece explicitly use the `"system"` where needed, then remove the backwards-compatibility shim afterwards. A restriction added by this change is that it's no longer possible to have the combination of: * Have Mach use the system Python, and * Have the active command site do `pip install`. This is because this case shouldn't be necessary (if `pip install` is allowed, why use the system?) and will allow us to enforce that all non-build command sites always use their lockfiles, when they're set up. When referring to behaviour in CI, I've opted to only refer to the upcoming behaviour (of `MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"`) because the current heuristic behaviour feels complex enough that it should be understood by checking the code, rather than docs. Besides, the heuristic will be removed pretty soon (right? ;) Differential Revision: https://phabricator.services.mozilla.com/D138932