Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyPy 3.8 virtualenvs lost system isolation on Debian #2309

Closed
stefanor opened this issue Mar 5, 2022 · 0 comments · Fixed by #2310
Closed

PyPy 3.8 virtualenvs lost system isolation on Debian #2309

stefanor opened this issue Mar 5, 2022 · 0 comments · Fixed by #2310
Labels

Comments

@stefanor
Copy link
Contributor

stefanor commented Mar 5, 2022

Issue

Virtualenvs created with (Debian) PyPy 3.8 on Debian have lost system isolation.

root@evident-guppy:/tmp# testve/bin/python -c 'import sys; print(sys.path)'
['', '/usr/lib/pypy3.8', '/tmp/testve/lib/pypy3.8/site-packages', '/tmp/testve/lib/python3/dist-packages']
root@evident-guppy:/tmp# ls /tmp/testve/lib/python3/dist-packages
__pycache__		 pip-22.0.2.dist-info	       six.py
_distutils_hack		 pkg_resources		       virtualenv
distlib			 platformdirs		       virtualenv-20.13.0+ds.dist-info
distlib-0.3.4.egg-info	 platformdirs-2.5.1.dist-info  wheel
filelock		 setuptools		       wheel-0.37.1.egg-info
filelock-3.6.0.egg-info  setuptools-59.6.0.egg-info
pip			 six-1.16.0.egg-info
root@evident-guppy:/tmp# ls -l /tmp/testve/lib/python3
lrwxrwxrwx 1 root root 16 Mar  5 00:58 /tmp/testve/lib/python3 -> /usr/lib/python3
root@evident-guppy:/tmp# ls -l /tmp/testve/lib
total 148
lrwxrwxrwx 1 root root 12 Mar  5 00:58 apt -> /usr/lib/apt
lrwxrwxrwx 1 root root 20 Mar  5 00:58 bfd-plugins -> /usr/lib/bfd-plugins
lrwxrwxrwx 1 root root 17 Mar  5 00:58 binfmt.d -> /usr/lib/binfmt.d
lrwxrwxrwx 1 root root 18 Mar  5 00:58 compat-ld -> /usr/lib/compat-ld
lrwxrwxrwx 1 root root 12 Mar  5 00:58 cpp -> /usr/lib/cpp
lrwxrwxrwx 1 root root 17 Mar  5 00:58 dbus-1.0 -> /usr/lib/dbus-1.0
lrwxrwxrwx 1 root root 13 Mar  5 00:58 dpkg -> /usr/lib/dpkg
lrwxrwxrwx 1 root root 22 Mar  5 00:58 environment.d -> /usr/lib/environment.d
lrwxrwxrwx 1 root root 12 Mar  5 00:58 gcc -> /usr/lib/gcc
lrwxrwxrwx 1 root root 14 Mar  5 00:58 gnupg -> /usr/lib/gnupg
lrwxrwxrwx 1 root root 15 Mar  5 00:58 gnupg2 -> /usr/lib/gnupg2
lrwxrwxrwx 1 root root 16 Mar  5 00:58 gold-ld -> /usr/lib/gold-ld
lrwxrwxrwx 1 root root 17 Mar  5 00:58 ifupdown -> /usr/lib/ifupdown
lrwxrwxrwx 1 root root 13 Mar  5 00:58 init -> /usr/lib/init
lrwxrwxrwx 1 root root 15 Mar  5 00:58 kernel -> /usr/lib/kernel
lrwxrwxrwx 1 root root 15 Mar  5 00:58 locale -> /usr/lib/locale
lrwxrwxrwx 1 root root 12 Mar  5 00:58 lsb -> /usr/lib/lsb
lrwxrwxrwx 1 root root 13 Mar  5 00:58 mime -> /usr/lib/mime
lrwxrwxrwx 1 root root 19 Mar  5 00:58 modprobe.d -> /usr/lib/modprobe.d
lrwxrwxrwx 1 root root 23 Mar  5 00:58 modules-load.d -> /usr/lib/modules-load.d
lrwxrwxrwx 1 root root 16 Mar  5 00:58 openssh -> /usr/lib/openssh
lrwxrwxrwx 1 root root 19 Mar  5 00:58 os-release -> /usr/lib/os-release
lrwxrwxrwx 1 root root 14 Mar  5 00:58 pam.d -> /usr/lib/pam.d
lrwxrwxrwx 1 root root 14 Mar  5 00:58 pypy3 -> /usr/lib/pypy3
drwxr-xr-x 1 root root 26 Mar  5 00:58 pypy3.8
lrwxrwxrwx 1 root root 16 Mar  5 00:58 python3 -> /usr/lib/python3
lrwxrwxrwx 1 root root 19 Mar  5 00:58 python3.10 -> /usr/lib/python3.10
lrwxrwxrwx 1 root root 18 Mar  5 00:58 python3.9 -> /usr/lib/python3.9
lrwxrwxrwx 1 root root 14 Mar  5 00:58 sasl2 -> /usr/lib/sasl2
lrwxrwxrwx 1 root root 12 Mar  5 00:58 ssl -> /usr/lib/ssl
lrwxrwxrwx 1 root root 17 Mar  5 00:58 sysctl.d -> /usr/lib/sysctl.d
lrwxrwxrwx 1 root root 16 Mar  5 00:58 systemd -> /usr/lib/systemd
lrwxrwxrwx 1 root root 19 Mar  5 00:58 sysusers.d -> /usr/lib/sysusers.d
lrwxrwxrwx 1 root root 17 Mar  5 00:58 terminfo -> /usr/lib/terminfo
lrwxrwxrwx 1 root root 19 Mar  5 00:58 tmpfiles.d -> /usr/lib/tmpfiles.d
lrwxrwxrwx 1 root root 13 Mar  5 00:58 udev -> /usr/lib/udev
lrwxrwxrwx 1 root root 17 Mar  5 00:58 valgrind -> /usr/lib/valgrind
lrwxrwxrwx 1 root root 25 Mar  5 00:58 x86_64-linux-gnu -> /usr/lib/x86_64-linux-gnu

Debian patches site.py to add $PREFIX/lib/python3/dist-packages to the module path. Usually in a virtualenv this doesn't exist, giving us the isolation we desire. But by symlinking everything from /usr/* into lib in the virtualenv, we're making it exist.

Environment

Provide at least:

  • OS: Debian
  • pip list of the host python where virtualenv is installed:
Package      Version
------------ ----------
distlib      0.3.4
filelock     3.6.0
pip          22.0.2
platformdirs 2.5.1
setuptools   59.6.0
six          1.16.0
virtualenv   20.13.0+ds
wheel        0.37.1

Output of the virtual environment creation

Make sure to run the creation with -vvv --with-traceback:

# virtualenv -p pypy3 -vvv --with-traceback testve
120 setup logging to NOTSET [DEBUG report:39]
127 find interpreter for spec PythonSpec(implementation=pypy, major=3) [INFO builtin:62]
127 proposed PythonInfo(spec=CPython3.9.10.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.9.10 (main, Feb 22 2022, 13:54:07) \n[GCC 11.2.0]', encoding_fs_io=utf-8-utf-8) [INFO builtin:69]
127 discover PATH[0]=/usr/local/sbin [DEBUG builtin:114]
128 filesystem is case-sensitive [DEBUG info:29]
128 discover PATH[1]=/usr/local/bin [DEBUG builtin:114]
128 discover PATH[2]=/usr/sbin [DEBUG builtin:114]
128 discover PATH[3]=/usr/bin [DEBUG builtin:114]
128 Attempting to acquire lock 139763564173584 on /root/.local/share/virtualenv/py_info/1/6492f50af86946bbd22a525338648088136db79bea86b549d61d5a1dea31d343.lock [DEBUG _api:169]
128 Lock 139763564173584 acquired on /root/.local/share/virtualenv/py_info/1/6492f50af86946bbd22a525338648088136db79bea86b549d61d5a1dea31d343.lock [DEBUG _api:173]
129 got python info of /usr/bin/pypy3 from /root/.local/share/virtualenv/py_info/1/6492f50af86946bbd22a525338648088136db79bea86b549d61d5a1dea31d343.json [DEBUG via_disk_folder:135]
130 Attempting to release lock 139763564173584 on /root/.local/share/virtualenv/py_info/1/6492f50af86946bbd22a525338648088136db79bea86b549d61d5a1dea31d343.lock [DEBUG _api:203]
130 Lock 139763564173584 released on /root/.local/share/virtualenv/py_info/1/6492f50af86946bbd22a525338648088136db79bea86b549d61d5a1dea31d343.lock [DEBUG _api:206]
130 proposed PathPythonInfo(spec=PyPy3.8.12.final.0-64, exe=/usr/bin/pypy3, platform=linux, version='3.8.12 (7.3.8+dfsg-2, Mar 03 2022, 01:25:50)\n[PyPy 7.3.8 with GCC 11.2.0]', encoding_fs_io=utf-8-UTF-8) [INFO builtin:69]
130 accepted PathPythonInfo(spec=PyPy3.8.12.final.0-64, exe=/usr/bin/pypy3, platform=linux, version='3.8.12 (7.3.8+dfsg-2, Mar 03 2022, 01:25:50)\n[PyPy 7.3.8 with GCC 11.2.0]', encoding_fs_io=utf-8-UTF-8) [DEBUG builtin:71]
166 create virtual environment via PyPy3Posix(dest=/tmp/testve, clear=False, no_vcs_ignore=False, global=False) [INFO session:52]
166 create folder /tmp/testve/bin [DEBUG _sync:24]
166 create folder /tmp/testve/lib/pypy3.8/site-packages [DEBUG _sync:24]
167 write /tmp/testve/pyvenv.cfg [DEBUG pyenv_cfg:34]
167 	home = /usr [DEBUG pyenv_cfg:38]
167 	implementation = PyPy [DEBUG pyenv_cfg:38]
167 	version_info = 3.8.12.final.0 [DEBUG pyenv_cfg:38]
167 	virtualenv = 20.13.0+ds [DEBUG pyenv_cfg:38]
167 	include-system-site-packages = false [DEBUG pyenv_cfg:38]
167 	base-prefix = /usr [DEBUG pyenv_cfg:38]
167 	base-exec-prefix = /usr [DEBUG pyenv_cfg:38]
167 	base-executable = /usr/bin/pypy3 [DEBUG pyenv_cfg:38]
167 symlink /usr/bin/pypy3 to /tmp/testve/bin/pypy [DEBUG _sync:43]
167 symlink directory /usr/lib/apt to /tmp/testve/lib/apt [DEBUG _sync:43]
168 symlink directory /usr/lib/binfmt.d to /tmp/testve/lib/binfmt.d [DEBUG _sync:43]
168 symlink directory /usr/lib/compat-ld to /tmp/testve/lib/compat-ld [DEBUG _sync:43]
168 symlink directory /usr/lib/dbus-1.0 to /tmp/testve/lib/dbus-1.0 [DEBUG _sync:43]
168 symlink directory /usr/lib/dpkg to /tmp/testve/lib/dpkg [DEBUG _sync:43]
168 symlink directory /usr/lib/environment.d to /tmp/testve/lib/environment.d [DEBUG _sync:43]
168 symlink directory /usr/lib/gnupg to /tmp/testve/lib/gnupg [DEBUG _sync:43]
168 symlink directory /usr/lib/gnupg2 to /tmp/testve/lib/gnupg2 [DEBUG _sync:43]
168 symlink directory /usr/lib/gold-ld to /tmp/testve/lib/gold-ld [DEBUG _sync:43]
168 symlink directory /usr/lib/ifupdown to /tmp/testve/lib/ifupdown [DEBUG _sync:43]
169 symlink directory /usr/lib/init to /tmp/testve/lib/init [DEBUG _sync:43]
169 symlink directory /usr/lib/kernel to /tmp/testve/lib/kernel [DEBUG _sync:43]
169 symlink directory /usr/lib/locale to /tmp/testve/lib/locale [DEBUG _sync:43]
169 symlink directory /usr/lib/lsb to /tmp/testve/lib/lsb [DEBUG _sync:43]
169 symlink directory /usr/lib/mime to /tmp/testve/lib/mime [DEBUG _sync:43]
169 symlink directory /usr/lib/modprobe.d to /tmp/testve/lib/modprobe.d [DEBUG _sync:43]
169 symlink directory /usr/lib/modules-load.d to /tmp/testve/lib/modules-load.d [DEBUG _sync:43]
169 symlink directory /usr/lib/openssh to /tmp/testve/lib/openssh [DEBUG _sync:43]
169 symlink /usr/lib/os-release to /tmp/testve/lib/os-release [DEBUG _sync:43]
169 symlink directory /usr/lib/pam.d to /tmp/testve/lib/pam.d [DEBUG _sync:43]
170 symlink directory /usr/lib/python3.9 to /tmp/testve/lib/python3.9 [DEBUG _sync:43]
170 symlink directory /usr/lib/sasl2 to /tmp/testve/lib/sasl2 [DEBUG _sync:43]
170 symlink directory /usr/lib/sysctl.d to /tmp/testve/lib/sysctl.d [DEBUG _sync:43]
170 symlink directory /usr/lib/systemd to /tmp/testve/lib/systemd [DEBUG _sync:43]
170 symlink directory /usr/lib/sysusers.d to /tmp/testve/lib/sysusers.d [DEBUG _sync:43]
170 symlink directory /usr/lib/terminfo to /tmp/testve/lib/terminfo [DEBUG _sync:43]
170 symlink directory /usr/lib/tmpfiles.d to /tmp/testve/lib/tmpfiles.d [DEBUG _sync:43]
170 symlink directory /usr/lib/udev to /tmp/testve/lib/udev [DEBUG _sync:43]
170 symlink directory /usr/lib/x86_64-linux-gnu to /tmp/testve/lib/x86_64-linux-gnu [DEBUG _sync:43]
170 symlink directory /usr/lib/pypy3 to /tmp/testve/lib/pypy3 [DEBUG _sync:43]
171 symlink directory /usr/lib/python3 to /tmp/testve/lib/python3 [DEBUG _sync:43]
171 symlink directory /usr/lib/valgrind to /tmp/testve/lib/valgrind [DEBUG _sync:43]
171 symlink directory /usr/lib/ssl to /tmp/testve/lib/ssl [DEBUG _sync:43]
171 symlink directory /usr/lib/gcc to /tmp/testve/lib/gcc [DEBUG _sync:43]
171 symlink directory /usr/lib/bfd-plugins to /tmp/testve/lib/bfd-plugins [DEBUG _sync:43]
171 symlink directory /usr/lib/python3.10 to /tmp/testve/lib/python3.10 [DEBUG _sync:43]
171 symlink /usr/lib/cpp to /tmp/testve/lib/cpp [DEBUG _sync:43]
172 create virtualenv import hook file /tmp/testve/lib/pypy3.8/site-packages/_virtualenv.pth [DEBUG api:95]
172 create /tmp/testve/lib/pypy3.8/site-packages/_virtualenv.py [DEBUG api:98]
172 ============================== target debug ============================== [DEBUG session:54]
172 debug via /tmp/testve/bin/pypy3 /usr/lib/python3/dist-packages/virtualenv/create/debug.py [DEBUG creator:224]
172 {
  "sys": {
    "executable": "/tmp/testve/bin/pypy3",
    "_base_executable": "/tmp/testve/bin/pypy3",
    "prefix": "/tmp/testve",
    "base_prefix": "/usr",
    "real_prefix": null,
    "exec_prefix": "/tmp/testve",
    "base_exec_prefix": "/usr",
    "path": [
      "/usr/lib/pypy3.8",
      "/tmp/testve/lib/pypy3.8/site-packages",
      "/tmp/testve/lib/python3/dist-packages"
    ],
    "meta_path": [
      "<class '_virtualenv._Finder'>",
      "<class '_frozen_importlib.BuiltinImporter'>",
      "<class '_frozen_importlib.FrozenImporter'>",
      "<class '_frozen_importlib_external.PathFinder'>"
    ],
    "fs_encoding": "utf-8",
    "io_encoding": "UTF-8"
  },
  "version": "3.8.12 (7.3.8+dfsg-2, Mar 03 2022, 01:25:50)\n[PyPy 7.3.8 with GCC 11.2.0]",
  "makefile_filename": "/usr/lib/pypy3.8/config-3.8-x86_64-linux-gnu/Makefile",
  "os": "<module 'os' from '/usr/lib/pypy3.8/os.py'>",
  "site": "<module 'site' from '/usr/lib/pypy3.8/site.py'>",
  "datetime": "<module 'datetime' from '/usr/lib/pypy3.8/datetime.py'>",
  "math": "<module 'math' (built-in)>",
  "json": "<module 'json' from '/usr/lib/pypy3.8/json/__init__.py'>"
} [DEBUG session:55]
337 add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv) [INFO session:59]
342 install setuptools from wheel /usr/share/python-wheels/setuptools-59.6.0-py3-none-any.whl via CopyPipInstall [DEBUG via_app_data:49]
343 install pip from wheel /usr/share/python-wheels/pip-22.0.2-py3-none-any.whl via CopyPipInstall [DEBUG via_app_data:49]
344 install wheel from wheel /usr/share/python-wheels/wheel-0.37.1-py2.py3-none-any.whl via CopyPipInstall [DEBUG via_app_data:49]
344 Attempting to acquire lock 139763561822768 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any.lock [DEBUG _api:169]
345 Attempting to acquire lock 139763561822432 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any.lock [DEBUG _api:169]
345 Attempting to acquire lock 139763561822720 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any.lock [DEBUG _api:169]
345 Lock 139763561822768 acquired on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any.lock [DEBUG _api:173]
345 Lock 139763561822432 acquired on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any.lock [DEBUG _api:173]
345 Lock 139763561822720 acquired on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any.lock [DEBUG _api:173]
346 Attempting to release lock 139763561822720 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any.lock [DEBUG _api:203]
346 Attempting to release lock 139763561822768 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any.lock [DEBUG _api:203]
346 Attempting to release lock 139763561822432 on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any.lock [DEBUG _api:203]
346 Lock 139763561822432 released on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any.lock [DEBUG _api:206]
346 Lock 139763561822720 released on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any.lock [DEBUG _api:206]
347 Lock 139763561822768 released on /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any.lock [DEBUG _api:206]
348 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any/pip-22.0.2.dist-info to /tmp/testve/lib/pypy3.8/site-packages/pip-22.0.2.dist-info [DEBUG _sync:51]
348 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any/wheel-0.37.1.dist-info to /tmp/testve/lib/pypy3.8/site-packages/wheel-0.37.1.dist-info [DEBUG _sync:51]
349 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/_distutils_hack to /tmp/testve/lib/pypy3.8/site-packages/_distutils_hack [DEBUG _sync:51]
352 copy /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/distutils-precedence.pth to /tmp/testve/lib/pypy3.8/site-packages/distutils-precedence.pth [DEBUG _sync:51]
354 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/pkg_resources to /tmp/testve/lib/pypy3.8/site-packages/pkg_resources [DEBUG _sync:51]
357 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any/pip to /tmp/testve/lib/pypy3.8/site-packages/pip [DEBUG _sync:51]
358 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any/wheel to /tmp/testve/lib/pypy3.8/site-packages/wheel [DEBUG _sync:51]
367 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/setuptools-59.6.0.dist-info to /tmp/testve/lib/pypy3.8/site-packages/setuptools-59.6.0.dist-info [DEBUG _sync:51]
372 copy directory /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/setuptools to /tmp/testve/lib/pypy3.8/site-packages/setuptools [DEBUG _sync:51]
379 copy /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.37.1-py2.py3-none-any/wheel-0.37.1.virtualenv to /tmp/testve/lib/pypy3.8/site-packages/wheel-0.37.1.virtualenv [DEBUG _sync:51]
386 generated console scripts wheel3.8 wheel-3.8 wheel wheel3 [DEBUG base:45]
415 copy /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-59.6.0-py3-none-any/setuptools-59.6.0.virtualenv to /tmp/testve/lib/pypy3.8/site-packages/setuptools-59.6.0.virtualenv [DEBUG _sync:51]
416 generated console scripts  [DEBUG base:45]
470 copy /root/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-22.0.2-py3-none-any/pip-22.0.2.virtualenv to /tmp/testve/lib/pypy3.8/site-packages/pip-22.0.2.virtualenv [DEBUG _sync:51]
471 generated console scripts pip pip-3.8 pip3 pip3.8 [DEBUG base:45]
471 add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [INFO session:64]
473 write /tmp/testve/pyvenv.cfg [DEBUG pyenv_cfg:34]
473 	home = /usr [DEBUG pyenv_cfg:38]
473 	implementation = PyPy [DEBUG pyenv_cfg:38]
473 	version_info = 3.8.12.final.0 [DEBUG pyenv_cfg:38]
473 	virtualenv = 20.13.0+ds [DEBUG pyenv_cfg:38]
473 	include-system-site-packages = false [DEBUG pyenv_cfg:38]
473 	base-prefix = /usr [DEBUG pyenv_cfg:38]
473 	base-exec-prefix = /usr [DEBUG pyenv_cfg:38]
473 	base-executable = /usr/bin/pypy3 [DEBUG pyenv_cfg:38]
473 created virtual environment PyPy3.8.12.final.0-64 in 354ms
  creator PyPy3Posix(dest=/tmp/testve, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==22.0.2, setuptools==59.6.0, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator [WARNING __main__:19]
@stefanor stefanor added the bug label Mar 5, 2022
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 5, 2022
PyPy >= 3.8 supports a standard prefix installation, where older
versions always used a portable/developent style installation.
If this is a standard prefix installation, skip the logic that symlinks
libraries in a portable PyPy distribution.

Fixes: pypa#2309
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 5, 2022
PyPy >= 3.8 supports a standard prefix installation, where older
versions always used a portable/developent style installation.
If this is a standard prefix installation, skip the logic that symlinks
libraries in a portable PyPy distribution.

Fixes: pypa#2309
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 5, 2022
PyPy >= 3.8 supports a standard prefix installation, where older
versions always used a portable/developent style installation.
If this is a standard prefix installation, skip the logic that symlinks
libraries in a portable PyPy distribution.

Fixes: pypa#2309
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 5, 2022
PyPy >= 3.8 supports a standard prefix installation, where older
versions always used a portable/developent style installation.
If this is a standard prefix installation, skip the logic that symlinks
libraries in a portable PyPy distribution.

Fixes: pypa#2309
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
stefanor added a commit to stefanor/virtualenv that referenced this issue Mar 6, 2022
1. Portable PyPy3.8 build, as downloaded from upstream.
   This should include the provided shared libraries, libpypy3-c.so has
   an rpath of $ORIGIN/../lib to point to them.
2. Debian's /usr/lib/pypy3 layout for PyPy3 < 3.8.
   This should include libpypy3-c.so.
3. Debian's /usr layout for PyPy3 > 3.8.
   This should exclude libpypy3-c.so, as it's on the standard linker
   search path.
   It should also not include anything else from /usr/lib. (See pypa#2309)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant