Fixed installation when mysql+amavis enabled.
This commit is contained in:
@@ -21,6 +21,5 @@ def install(appname, config):
|
||||
try:
|
||||
getattr(script, appname.capitalize())(config).run()
|
||||
except utils.FatalError as inst:
|
||||
utils.printcolor(utils.RED, "Failure")
|
||||
print(inst)
|
||||
utils.printcolor(u"{}".format(inst), utils.RED)
|
||||
sys.exit(1)
|
||||
|
||||
@@ -61,12 +61,6 @@ class Amavis(base.Installer):
|
||||
return self.get_file_path(
|
||||
"amavis_{}_{}.sql".format(self.dbengine, version))
|
||||
|
||||
def setup_database(self):
|
||||
"""Additional config."""
|
||||
super(Amavis, self).setup_database()
|
||||
self.backend.grant_access(
|
||||
self.dbname, self.config.get("modoboa", "dbuser"))
|
||||
|
||||
def post_run(self):
|
||||
"""Additional tasks."""
|
||||
with open("/etc/mailname", "w") as fp:
|
||||
|
||||
@@ -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