Pip installed wheels are not reproducible currently. The direct_url
files encode an installation path and the installed wheels compile
the python files at their location, not their final install location
which is incorrect.

To fix this, simply disable the direct_urls and pass the "root" to
the python compile function to strip that path out of the compiled
files.

A version of this patch, perhaps stripping root from the direct_urls
may be something that could be considered by upstream.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Upstream-Status: Pending

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
 src/pip/_internal/operations/install/wheel.py | 5 ++++-
 src/pip/_internal/req/req_install.py          | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py
index 1af8978..3e48f9b 100644
--- a/src/pip/_internal/operations/install/wheel.py
+++ b/src/pip/_internal/operations/install/wheel.py
@@ -434,6 +434,7 @@ def _install_wheel(
     warn_script_location: bool = True,
     direct_url: Optional[DirectUrl] = None,
     requested: bool = False,
+    root: str = None,
 ) -> None:
     """Install a wheel.
 
@@ -610,7 +611,7 @@ def _install_wheel(
             with warnings.catch_warnings():
                 warnings.filterwarnings("ignore")
                 for path in pyc_source_file_paths():
-                    success = compileall.compile_file(path, force=True, quiet=True)
+                    success = compileall.compile_file(path, force=True, quiet=True, stripdir=root)
                     if success:
                         pyc_path = pyc_output_path(path)
                         assert os.path.exists(pyc_path)
@@ -721,6 +722,7 @@ def install_wheel(
     warn_script_location: bool = True,
     direct_url: Optional[DirectUrl] = None,
     requested: bool = False,
+    root: str = None,
 ) -> None:
     with ZipFile(wheel_path, allowZip64=True) as z:
         with req_error_context(req_description):
@@ -733,4 +735,5 @@ def install_wheel(
                 warn_script_location=warn_script_location,
                 direct_url=direct_url,
                 requested=requested,
+                root=root,
             )
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
index a1e376c..4c3f1bb 100644
--- a/src/pip/_internal/req/req_install.py
+++ b/src/pip/_internal/req/req_install.py
@@ -779,7 +779,9 @@ class InstallRequirement:
             assert self.local_file_path
             direct_url = None
             # TODO this can be refactored to direct_url = self.download_info
-            if self.editable:
+            if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
+                direct_url = None
+            elif self.editable:
                 direct_url = direct_url_for_editable(self.unpacked_source_directory)
             elif self.original_link:
                 direct_url = direct_url_from_link(
@@ -796,6 +798,7 @@ class InstallRequirement:
                 warn_script_location=warn_script_location,
                 direct_url=direct_url,
                 requested=self.user_supplied,
+                root=root,
             )
             self.install_succeeded = True
             return
-- 
2.25.1

