mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Stop copying system packages into the virtualenv
Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
parent
8e008cfd1e
commit
08efc77d4d
1 changed files with 0 additions and 56 deletions
56
noxfile.py
56
noxfile.py
|
@ -8,10 +8,8 @@ Nox configuration script
|
|||
|
||||
|
||||
import datetime
|
||||
import glob
|
||||
import os
|
||||
import pathlib
|
||||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
|
@ -127,29 +125,6 @@ def _get_session_python_version_info(session):
|
|||
return version_info
|
||||
|
||||
|
||||
def _get_session_python_site_packages_dir(session):
|
||||
try:
|
||||
site_packages_dir = session._runner._site_packages_dir
|
||||
except AttributeError:
|
||||
old_install_only_value = session._runner.global_config.install_only
|
||||
try:
|
||||
# Force install only to be false for the following chunk of code
|
||||
# For additional information as to why see:
|
||||
# https://github.com/theacodes/nox/pull/181
|
||||
session._runner.global_config.install_only = False
|
||||
site_packages_dir = session.run(
|
||||
"python",
|
||||
"-c",
|
||||
"import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())",
|
||||
silent=True,
|
||||
log=False,
|
||||
)
|
||||
session._runner._site_packages_dir = site_packages_dir
|
||||
finally:
|
||||
session._runner.global_config.install_only = old_install_only_value
|
||||
return site_packages_dir
|
||||
|
||||
|
||||
def _get_pydir(session):
|
||||
version_info = _get_session_python_version_info(session)
|
||||
if version_info < (3, 5):
|
||||
|
@ -159,36 +134,6 @@ def _get_pydir(session):
|
|||
return "py{}.{}".format(*version_info)
|
||||
|
||||
|
||||
def _install_system_packages(session):
|
||||
"""
|
||||
Because some python packages are provided by the distribution and cannot
|
||||
be pip installed, and because we don't want the whole system python packages
|
||||
on our virtualenvs, we copy the required system python packages into
|
||||
the virtualenv
|
||||
"""
|
||||
version_info = _get_session_python_version_info(session)
|
||||
py_version_keys = ["{}".format(*version_info), "{}.{}".format(*version_info)]
|
||||
session_site_packages_dir = _get_session_python_site_packages_dir(session)
|
||||
session_site_packages_dir = os.path.relpath(
|
||||
session_site_packages_dir, str(REPO_ROOT)
|
||||
)
|
||||
for py_version in py_version_keys:
|
||||
dist_packages_path = "/usr/lib/python{}/dist-packages".format(py_version)
|
||||
if not os.path.isdir(dist_packages_path):
|
||||
continue
|
||||
for aptpkg in glob.glob(os.path.join(dist_packages_path, "*apt*")):
|
||||
src = os.path.realpath(aptpkg)
|
||||
dst = os.path.join(session_site_packages_dir, os.path.basename(src))
|
||||
if os.path.exists(dst):
|
||||
session.log("Not overwritting already existing %s with %s", dst, src)
|
||||
continue
|
||||
session.log("Copying %s into %s", src, dst)
|
||||
if os.path.isdir(src):
|
||||
shutil.copytree(src, dst)
|
||||
else:
|
||||
shutil.copyfile(src, dst)
|
||||
|
||||
|
||||
def _get_pip_requirements_file(session, transport, crypto=None, requirements_type="ci"):
|
||||
assert requirements_type in ("ci", "pkg")
|
||||
pydir = _get_pydir(session)
|
||||
|
@ -260,7 +205,6 @@ def _get_pip_requirements_file(session, transport, crypto=None, requirements_typ
|
|||
return _requirements_file
|
||||
session.error("Could not find a freebsd requirements file for {}".format(pydir))
|
||||
else:
|
||||
_install_system_packages(session)
|
||||
if crypto is None:
|
||||
_requirements_file = os.path.join(
|
||||
"requirements",
|
||||
|
|
Loading…
Add table
Reference in a new issue