Fixed installation when mysql+amavis enabled.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user