Added Radicale setup. (#194)

* Added Radicale setup.

see #193

* Fixed setup on CentOS.
This commit is contained in:
Antoine Nguyen
2018-03-31 14:12:53 +02:00
committed by GitHub
parent b68de9e139
commit d813039270
10 changed files with 334 additions and 7 deletions

View File

@@ -36,14 +36,35 @@ def install_packages(names, venv=None, upgrade=False, **kwargs):
utils.exec_cmd(cmd, **kwargs)
def setup_virtualenv(path, sudo_user=None):
def install_package_from_repository(name, url, vcs="git", venv=None, **kwargs):
"""Install a Python package from its repository."""
if vcs == "git":
package.backend.install("git")
cmd = "{} install -e {}+{}#egg={}".format(
get_pip_path(venv), vcs, url, name)
utils.exec_cmd(cmd, **kwargs)
def setup_virtualenv(path, sudo_user=None, python_version=2):
"""Install a virtualenv if needed."""
if os.path.exists(path):
return
packages = ["python-virtualenv"]
if utils.dist_name() == "debian":
packages.append("virtualenv")
if python_version == 2:
python_binary = "python"
packages = ["python-virtualenv"]
if utils.dist_name() == "debian":
packages.append("virtualenv")
else:
if utils.dist_name().startswith("centos"):
python_binary = "python36"
packages = ["python36"]
else:
python_binary = "python3"
packages = ["python3-venv"]
package.backend.install_many(packages)
with utils.settings(sudo_user=sudo_user):
utils.exec_cmd("virtualenv {}".format(path))
if python_version == 2:
utils.exec_cmd("virtualenv {}".format(path))
else:
utils.exec_cmd("{} -m venv {}".format(python_binary, path))
install_package("pip", venv=path, upgrade=True)