OpenDKIM start Condition see comments in PR #217, #262

This commit is contained in:
Razvan Ionescu
2020-02-06 15:36:07 +01:00
committed by Răzvan Ionescu
parent edd0a32fc6
commit 6b1f0db475

View File

@@ -78,10 +78,16 @@ class Opendkim(base.Installer):
dbname, "dkim", self.app_config["dbuser"], "SELECT") dbname, "dkim", self.app_config["dbuser"], "SELECT")
def post_run(self): def post_run(self):
"""Additional tasks.""" """Additional tasks.
if package.backend.FORMAT != "deb": Check linux distribution (package deb, rpm), to adapt
return to config file location and syntax.
- update opendkim isocket port config
- make sure opendkim starts after db service started
"""
if package.backend.FORMAT == "deb":
params_file = "/etc/default/opendkim" params_file = "/etc/default/opendkim"
else:
params_file = "/etc/opendkim.conf"
pattern = r"s/^(SOCKET=.*)/#\1/" pattern = r"s/^(SOCKET=.*)/#\1/"
utils.exec_cmd( utils.exec_cmd(
"perl -pi -e '{}' {}".format(pattern, params_file)) "perl -pi -e '{}' {}".format(pattern, params_file))
@@ -90,13 +96,14 @@ class Opendkim(base.Installer):
"", "",
'SOCKET="inet:12345@localhost"', 'SOCKET="inet:12345@localhost"',
])) ]))
# Make sure opendkim is started after postgresql and mysql, respectively
if self.dbengine == "postgres": """ Make sure opendkim is started after postgresql and mysql, respectively. """
dbservice = "postgresql.service" if (self.dbengine != "postgres" and package.backend.FORMAT == "deb"):
elif "centos" in utils.dist_name(): dbservice = "mysql.service"
elif (self.dbengine != "postgres" and package.backend.FORMAT != "deb"):
dbservice = "mysqld.service" dbservice = "mysqld.service"
else: else:
dbservice = "mysql.service" dbservice = "postgresql.service"
pattern = ( pattern = (
"s/^After=(.*)$/After=$1 {}/".format(dbservice)) "s/^After=(.*)$/After=$1 {}/".format(dbservice))
utils.exec_cmd( utils.exec_cmd(