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):