changeset 47845:b962a913ee3b stable

pyoxidizer: re-install PYTHONPATH behavior Hooks and extensions can rely on PYTHONPATH value. Yet the pyoxidized binary ignore the variable. So we manually reinstall the behavior to fix various tests and restore the expected behavior. This positively affects: - test-extension.t - test-hook.t Differential Revision: https://phab.mercurial-scm.org/D11302
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 18 Aug 2021 21:37:55 +0200
parents f07a00543396
children d88f4231712c
files rust/hgcli/pyoxidizer.bzl
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rust/hgcli/pyoxidizer.bzl	Wed Aug 18 16:48:32 2021 +0200
+++ b/rust/hgcli/pyoxidizer.bzl	Wed Aug 18 21:37:55 2021 +0200
@@ -36,6 +36,14 @@
 
 # Code to run in Python interpreter.
 RUN_CODE = """
+import os
+import sys
+extra_path = os.environ.get('PYTHONPATH')
+if extra_path is not None:
+    # extensions and hooks expect a working python environment
+    # We do not prepend the values because the Mercurial library wants to be in
+    # the front of the sys.path to avoid picking up other installations.
+    sys.path.extend(extra_path.split(os.pathsep))
 import hgdemandimport;
 hgdemandimport.enable();
 from mercurial import dispatch;