-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Labels
Comments
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
5 tasks
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
Issue
Virtualenvs created with (Debian) PyPy 3.8 on Debian have lost system isolation.
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/*
intolib
in the virtualenv, we're making it exist.Environment
Provide at least:
pip list
of the host python wherevirtualenv
is installed:Output of the virtual environment creation
Make sure to run the creation with
-vvv --with-traceback
:The text was updated successfully, but these errors were encountered: