mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
setup_venv: Added get_venv_dependencies function.
Added a get_venv_dependencies() function in setup_venv.py which returns VENV_DEPENDENCIES according to the vendor and os_version. The reason for adding this function was because python-dev will be depreciated in Focal but can be used as python2-dev so when adding support for Focal VENV_DEPENDENCIES should to be os_version dependent.
This commit is contained in:
@@ -10,7 +10,7 @@ if ZULIP_PATH not in sys.path:
|
||||
|
||||
from scripts.lib.zulip_tools import os_families, overwrite_symlink, run, parse_os_release
|
||||
from scripts.lib.setup_venv import (
|
||||
setup_virtualenv, VENV_DEPENDENCIES, REDHAT_VENV_DEPENDENCIES,
|
||||
setup_virtualenv, get_venv_dependencies, REDHAT_VENV_DEPENDENCIES,
|
||||
FEDORA_VENV_DEPENDENCIES
|
||||
)
|
||||
|
||||
@@ -20,6 +20,9 @@ args = parser.parse_args()
|
||||
|
||||
# install dependencies for setting up the virtualenv
|
||||
distro_info = parse_os_release()
|
||||
vendor = distro_info['ID']
|
||||
os_version = distro_info['VERSION_ID']
|
||||
VENV_DEPENDENCIES = get_venv_dependencies(vendor, os_version)
|
||||
if "debian" in os_families():
|
||||
run(["apt-get", "-y", "install"] + VENV_DEPENDENCIES)
|
||||
elif "fedora" in os_families():
|
||||
|
@@ -23,7 +23,6 @@ VENV_DEPENDENCIES = [
|
||||
"libldap2-dev",
|
||||
"libmemcached-dev",
|
||||
"python3-dev", # Needed to install typed-ast dependency of mypy
|
||||
"python-dev",
|
||||
"python3-pip",
|
||||
"python-pip",
|
||||
"virtualenv",
|
||||
@@ -45,6 +44,10 @@ VENV_DEPENDENCIES = [
|
||||
"jq", # Used by scripts/lib/install-node to check yarn version
|
||||
]
|
||||
|
||||
# python-dev is depreciated in Focal but can be used as python2-dev.
|
||||
# So it is removed from VENV_DEPENDENCIES and added here.
|
||||
PYTHON_DEV_DEPENDENCY = "python{}-dev"
|
||||
|
||||
COMMON_YUM_VENV_DEPENDENCIES = [
|
||||
"libffi-devel",
|
||||
"freetype-devel",
|
||||
@@ -99,6 +102,13 @@ YUM_THUMBOR_VENV_DEPENDENCIES = [
|
||||
"gifsicle",
|
||||
]
|
||||
|
||||
def get_venv_dependencies(vendor, os_version):
|
||||
# type: (str, str) -> List[str]
|
||||
if vendor == 'ubuntu' and os_version == '20.04':
|
||||
return VENV_DEPENDENCIES + [PYTHON_DEV_DEPENDENCY.format("2"), ]
|
||||
else:
|
||||
return VENV_DEPENDENCIES + [PYTHON_DEV_DEPENDENCY.format(""), ]
|
||||
|
||||
def install_venv_deps(pip, requirements_file, python2):
|
||||
# type: (str, str, bool) -> None
|
||||
pip_requirements = os.path.join(ZULIP_PATH, "requirements", "pip2.txt" if python2 else "pip.txt")
|
||||
|
@@ -16,7 +16,7 @@ from scripts.lib.zulip_tools import run_as_root, ENDC, WARNING, \
|
||||
get_dev_uuid_var_path, FAIL, os_families, parse_os_release, \
|
||||
overwrite_symlink
|
||||
from scripts.lib.setup_venv import (
|
||||
VENV_DEPENDENCIES, REDHAT_VENV_DEPENDENCIES,
|
||||
get_venv_dependencies, REDHAT_VENV_DEPENDENCIES,
|
||||
THUMBOR_VENV_DEPENDENCIES, YUM_THUMBOR_VENV_DEPENDENCIES,
|
||||
FEDORA_VENV_DEPENDENCIES
|
||||
)
|
||||
@@ -108,6 +108,8 @@ else:
|
||||
print("See: https://zulip.readthedocs.io/en/latest/development/setup-vagrant.html")
|
||||
sys.exit(1)
|
||||
|
||||
VENV_DEPENDENCIES = get_venv_dependencies(vendor, os_version)
|
||||
|
||||
COMMON_DEPENDENCIES = [
|
||||
"memcached",
|
||||
"rabbitmq-server",
|
||||
|
Reference in New Issue
Block a user