snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
This commit is contained in:
71
scripts/lib/setup_venv.py
Normal file
71
scripts/lib/setup_venv.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import os
|
||||
|
||||
from scripts.lib.zulip_tools import os_families
|
||||
|
||||
ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
VENV_DEPENDENCIES = [
|
||||
"build-essential",
|
||||
"libffi-dev",
|
||||
"libldap2-dev",
|
||||
"python3-dev", # Needed to install typed-ast dependency of mypy
|
||||
"python3-pip",
|
||||
"virtualenv",
|
||||
"libxml2-dev", # Used for installing talon-core and python-xmlsec
|
||||
"libxslt1-dev", # Used for installing talon-core
|
||||
"libpq-dev", # Needed by psycopg2
|
||||
"libssl-dev", # Needed to build pycurl and other libraries
|
||||
"libmagic1", # Used for install python-magic
|
||||
"libyaml-dev", # For fast YAML parsing in PyYAML
|
||||
# Needed by python-xmlsec:
|
||||
"libxmlsec1-dev",
|
||||
"pkg-config",
|
||||
"jq", # No longer used in production (clean me up later)
|
||||
"libsasl2-dev", # For building python-ldap from source
|
||||
"libvips", # For thumbnailing
|
||||
"libvips-tools",
|
||||
"libicu-dev", # For building pyicu
|
||||
"libcrypt-dev", # For building uwsgi
|
||||
]
|
||||
|
||||
COMMON_YUM_VENV_DEPENDENCIES = [
|
||||
"libffi-devel",
|
||||
"openldap-devel",
|
||||
"libyaml-devel",
|
||||
# Needed by python-xmlsec:
|
||||
"gcc",
|
||||
"python3-devel",
|
||||
"libxml2-devel",
|
||||
"xmlsec1-devel",
|
||||
"xmlsec1-openssl-devel",
|
||||
"libtool-ltdl-devel",
|
||||
"libxslt-devel",
|
||||
"postgresql-libs", # libpq-dev on apt
|
||||
"openssl-devel",
|
||||
"jq",
|
||||
"vips", # For thumbnailing
|
||||
"vips-tools",
|
||||
]
|
||||
|
||||
REDHAT_VENV_DEPENDENCIES = [
|
||||
*COMMON_YUM_VENV_DEPENDENCIES,
|
||||
"python36-devel",
|
||||
"python-virtualenv",
|
||||
]
|
||||
|
||||
FEDORA_VENV_DEPENDENCIES = [
|
||||
*COMMON_YUM_VENV_DEPENDENCIES,
|
||||
"python3-pip",
|
||||
"virtualenv", # see https://unix.stackexchange.com/questions/27877/install-virtualenv-on-fedora-16
|
||||
]
|
||||
|
||||
|
||||
def get_venv_dependencies(vendor: str, os_version: str) -> list[str]:
|
||||
if "debian" in os_families():
|
||||
return VENV_DEPENDENCIES
|
||||
elif "rhel" in os_families():
|
||||
return REDHAT_VENV_DEPENDENCIES
|
||||
elif "fedora" in os_families():
|
||||
return FEDORA_VENV_DEPENDENCIES
|
||||
else:
|
||||
raise AssertionError("Invalid vendor")
|
||||
Reference in New Issue
Block a user