Fixed installation when mysql+amavis enabled.

This commit is contained in:
Antoine Nguyen
2017-03-04 10:31:41 +01:00
parent a9034fa738
commit e7b468f7c4
4 changed files with 18 additions and 18 deletions

View File

@@ -43,6 +43,13 @@ class Modoboa(base.Installer):
self.instance_path = config.get("modoboa", "instance_path")
self.extensions = config.get("modoboa", "extensions").split()
self.devmode = config.getboolean("modoboa", "devmode")
# Sanity check for amavis
self.amavis_enabled = False
if "modoboa-amavis" in self.extensions:
if self.config.getboolean("amavis", "enabled"):
self.amavis_enabled = True
else:
self.extensions.remove("modoboa-amavis")
def _setup_venv(self):
"""Prepare a dedicated virtuelenv."""
@@ -78,14 +85,6 @@ class Modoboa(base.Installer):
return
shutil.rmtree(target)
# Sanity check for amavis
amavis_enabled = False
if "modoboa-amavis" in self.extensions:
if self.config.getboolean("amavis", "enabled"):
amavis_enabled = True
else:
self.extensions.remove("modoboa-amavis")
prefix = ". {}; ".format(
os.path.join(self.venv_path, "bin", "activate"))
args = [
@@ -99,7 +98,7 @@ class Modoboa(base.Installer):
]
if self.devmode:
args = ["--devel"] + args
if amavis_enabled:
if self.amavis_enabled:
args += [
"'amavis:{}://{}:{}@{}/{}'".format(
self.config.get("database", "engine"),
@@ -116,6 +115,14 @@ class Modoboa(base.Installer):
if code:
raise utils.FatalError(output)
def setup_database(self):
"""Additional config."""
super(Modoboa, self).setup_database()
if not self.amavis_enabled:
return
self.backend.grant_access(
self.config.get("amavis", "dbname"), self.dbuser)
def get_packages(self):
"""Include extra packages if needed."""
packages = super(Modoboa, self).get_packages()