From 2f93a1eddbb2f53c40f977df4b27eb3ef96cb808 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 5 Jun 2024 12:03:59 +0200 Subject: [PATCH] Compat. with Ubuntu 24.04 see #556 --- modoboa_installer/python.py | 25 ++++++++----------------- modoboa_installer/scripts/automx.py | 3 +-- modoboa_installer/scripts/modoboa.py | 3 +-- modoboa_installer/scripts/radicale.py | 3 +-- 4 files changed, 11 insertions(+), 23 deletions(-) diff --git a/modoboa_installer/python.py b/modoboa_installer/python.py index 54e1e90..87903ca 100644 --- a/modoboa_installer/python.py +++ b/modoboa_installer/python.py @@ -99,26 +99,17 @@ def install_package_from_remote_requirements(url, venv=None, **kwargs): utils.exec_cmd(cmd, **kwargs) -def setup_virtualenv(path, sudo_user=None, python_version=2): +def setup_virtualenv(path, sudo_user=None): """Install a virtualenv if needed.""" if os.path.exists(path): return - if python_version == 2: - python_binary = "python" - packages = ["python-virtualenv"] - if utils.dist_name() == "debian": - packages.append("virtualenv") + if utils.dist_name().startswith("centos"): + python_binary = "python3" + packages = ["python3"] else: - if utils.dist_name().startswith("centos"): - python_binary = "python3" - packages = ["python3"] - else: - python_binary = "python3" - packages = ["python3-venv"] + python_binary = "python3" + packages = ["python3-venv"] package.backend.install_many(packages) with utils.settings(sudo_user=sudo_user): - if python_version == 2: - utils.exec_cmd("virtualenv {}".format(path)) - else: - utils.exec_cmd("{} -m venv {}".format(python_binary, path)) - install_packages(["pip", "setuptools\<58.0.0"], venv=path, upgrade=True) + utils.exec_cmd("{} -m venv {}".format(python_binary, path)) + install_packages(["pip", "setuptools"], venv=path, upgrade=True) diff --git a/modoboa_installer/scripts/automx.py b/modoboa_installer/scripts/automx.py index 9267500..b08a739 100644 --- a/modoboa_installer/scripts/automx.py +++ b/modoboa_installer/scripts/automx.py @@ -56,8 +56,7 @@ class Automx(base.Installer): def _setup_venv(self): """Prepare a python virtualenv.""" - python.setup_virtualenv( - self.venv_path, sudo_user=self.user, python_version=3) + python.setup_virtualenv(self.venv_path, sudo_user=self.user) packages = [ "future", "lxml", "ipaddress", "sqlalchemy < 2.0", "python-memcached", "python-dateutil", "configparser" diff --git a/modoboa_installer/scripts/modoboa.py b/modoboa_installer/scripts/modoboa.py index 3778bec..1904a14 100644 --- a/modoboa_installer/scripts/modoboa.py +++ b/modoboa_installer/scripts/modoboa.py @@ -78,8 +78,7 @@ class Modoboa(base.Installer): def _setup_venv(self): """Prepare a dedicated virtualenv.""" - python.setup_virtualenv( - self.venv_path, sudo_user=self.user, python_version=3) + python.setup_virtualenv(self.venv_path, sudo_user=self.user) packages = ["rrdtool"] version = self.config.get("modoboa", "version") if version == "latest": diff --git a/modoboa_installer/scripts/radicale.py b/modoboa_installer/scripts/radicale.py index a0ca309..04d039e 100644 --- a/modoboa_installer/scripts/radicale.py +++ b/modoboa_installer/scripts/radicale.py @@ -31,8 +31,7 @@ class Radicale(base.Installer): def _setup_venv(self): """Prepare a dedicated virtualenv.""" - python.setup_virtualenv( - self.venv_path, sudo_user=self.user, python_version=3) + python.setup_virtualenv(self.venv_path, sudo_user=self.user) packages = [ "Radicale", "radicale-dovecot-auth", "pytz" ]