Skip to content

Commit 6a79166

Browse files
authored
Merge pull request #620 from ByteSizedMarius/fix/opendkim-systemd-override
Use systemd drop-in for OpenDKIM db dependency
2 parents ee95430 + 5f98878 commit 6a79166

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

modoboa_installer/scripts/opendkim.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,18 @@ def post_run(self):
106106
dbservice = "mysqld.service"
107107
else:
108108
dbservice = "postgresql.service"
109-
pattern = (
110-
"s/^After=(.*)$/After=$1 {}/".format(dbservice))
111-
utils.exec_cmd(
112-
"perl -pi -e '{}' /lib/systemd/system/opendkim.service".format(pattern))
109+
# Use systemd drop-in override (survives package upgrades)
110+
override_dir = "/etc/systemd/system/opendkim.service.d"
111+
utils.mkdir(
112+
override_dir,
113+
stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP |
114+
stat.S_IROTH | stat.S_IXOTH,
115+
0, 0
116+
)
117+
override_file = os.path.join(override_dir, "database.conf")
118+
with open(override_file, "w") as f:
119+
f.write("[Unit]\nAfter={0}\nRequires={0}\n".format(dbservice))
120+
utils.exec_cmd("systemctl daemon-reload")
113121

114122
def restore(self):
115123
"""Restore keys."""

0 commit comments

Comments
 (0)