From 6b1f0db475dc7751d2819509f994001c55d72c68 Mon Sep 17 00:00:00 2001 From: Razvan Ionescu Date: Thu, 6 Feb 2020 15:36:07 +0100 Subject: [PATCH] OpenDKIM start Condition see comments in PR #217, #262 --- modoboa_installer/scripts/opendkim.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/modoboa_installer/scripts/opendkim.py b/modoboa_installer/scripts/opendkim.py index cc02411..62c39fa 100644 --- a/modoboa_installer/scripts/opendkim.py +++ b/modoboa_installer/scripts/opendkim.py @@ -78,10 +78,16 @@ class Opendkim(base.Installer): dbname, "dkim", self.app_config["dbuser"], "SELECT") def post_run(self): - """Additional tasks.""" - if package.backend.FORMAT != "deb": - return - params_file = "/etc/default/opendkim" + """Additional tasks. + Check linux distribution (package deb, rpm), to adapt + 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" + else: + params_file = "/etc/opendkim.conf" pattern = r"s/^(SOCKET=.*)/#\1/" utils.exec_cmd( "perl -pi -e '{}' {}".format(pattern, params_file)) @@ -90,13 +96,14 @@ class Opendkim(base.Installer): "", 'SOCKET="inet:12345@localhost"', ])) - # Make sure opendkim is started after postgresql and mysql, respectively - if self.dbengine == "postgres": - dbservice = "postgresql.service" - elif "centos" in utils.dist_name(): - dbservice = "mysqld.service" + + """ Make sure opendkim is started after postgresql and mysql, respectively. """ + if (self.dbengine != "postgres" and package.backend.FORMAT == "deb"): + dbservice = "mysql.service" + elif (self.dbengine != "postgres" and package.backend.FORMAT != "deb"): + dbservice = "mysqld.service" else: - dbservice = "mysql.service" + dbservice = "postgresql.service" pattern = ( "s/^After=(.*)$/After=$1 {}/".format(dbservice)) utils.exec_cmd(