ANDROID: kleaf: fix 2-stage bootstrapping with our hermetic Python. am: 86939a5023 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/bazelbuild-rules_python/+/35062110 Change-Id: Ib13d33c1be03e30ad3c9585bb9e3322007d3b8b9 Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh index d992b55..c8dd880 100644 --- a/python/private/stage1_bootstrap_template.sh +++ b/python/private/stage1_bootstrap_template.sh
@@ -228,6 +228,9 @@ if [[ ! -e "$venv/pyvenv.cfg" ]]; then ln -s "$runfiles_venv/pyvenv.cfg" "$venv/pyvenv.cfg" fi + # ANDROID: b/438286001 Add site packages to PYTHONPATH because the hermetic + # Python does not support site packages. + export PYTHONPATH=${PYTHONPATH}:$venv_site_packages else use_exec=1 fi
diff --git a/python/private/stage2_bootstrap_template.py b/python/private/stage2_bootstrap_template.py index 689602d..7d8fb77 100644 --- a/python/private/stage2_bootstrap_template.py +++ b/python/private/stage2_bootstrap_template.py
@@ -379,6 +379,10 @@ print_verbose("initial environ:", mapping=os.environ) print_verbose("initial sys.path:", values=sys.path) + # ANDROID: b/438286001 manually import _bazel_site_init to import + # dependencies because our hermetic Python does not support site packages + import _bazel_site_init + if VENV_SITE_PACKAGES: site_packages = os.path.join(sys.prefix, VENV_SITE_PACKAGES) if site_packages not in sys.path and os.path.exists(site_packages):