#1055449 mailman3 systemd service is missing After+Wants for postgresql

#1055449#5
Date:
2023-11-06 13:50:59 UTC
From:
To:
Dear Maintainer,

    * What led up to the situation?

I upgraded from mailman2 to mailman3.

    * What exactly did you do (or not do) that was effective (or
      ineffective)?

I read /usr/share/doc/mailman3/README.Debian, which said nothing about
mariadb as a backend database. During the upgrade/install process, the
scripts said nothing about mariadb, and instead said that sqlite3 was
the default database and postgresql was the recommended database.

I chose postgresql during the upgrade/install.

    * What was the outcome of this action?

After fully installing mailman3 (and mailman3-web) and debugging the
installs, the mailman3 systemd service did not automatically start after a
reboot. This failure to start after a reboot happened on at least two
independent reboots.

    * What outcome did you expect instead?

I expected the mailman3 systemd service to start automatically after each
reboot.


    * Analysis:

The file /lib/systemd/system/mailman3.service includes the lines:

      7  ConditionPathExists=/etc/mailman3/mailman.cfg
      8  After=mariadb.service
      9  Wants=mariadb.service
     10

which appear to be the result of fixing bug #1030156:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030156


Based on info systemd -> info systemd.directives -> info systemd.unit,
these lines look OK, but similar lines for postgresql are needed.


    * Suggestion:


Two possibilities to fix this in  /lib/systemd/system/mailman3.service ,
as discussed with Christopher Bock on #debian irc, are:

(1) change to

After=mariadb.service postgresql.service
Wants=mariadb.service postgresql.service

or

(2) change to

After=mariadb.service
After=postgresql.service
Wants=mariadb.service
After=postgresql.service

Since sqlite3 does not use systemd, it cannot and does not need to be
added to the systemd service file.

Cheers
Boud