#1120548 policyd-weight.service doesn't start on debian trixie after fresh install

#1120548#5
Date:
2025-11-11 23:03:27 UTC
From:
To:
dear Maintainer,

i installed policyd-weight on a fresh debian 13 machine.

after installation, i wondered why the service was not running and
checked status with `systemctl status policyd-weight.service`, which
gave this output:

○ policyd-weight.service - Perl policy daemon for the Postfix MTA
     Loaded: loaded (/usr/lib/systemd/system/policyd-weight.service; enabled; preset: enabled)
     Active: inactive (dead) since Tue 2025-11-11 23:23:27 CET; 5min ago
   Duration: 234ms
 Invocation: 78d1487c15714713b7d8910bdb240dfb
       Docs: man:policyd-weight(8)
    Process: 1631 ExecStart=/usr/sbin/policyd-weight -D $DAEMON_OPTS (code=exited, status=0/SUCCESS)
    Process: 1635 ExecStopPost=/bin/rm -f /var/run/policyd-weight.pid (code=exited, status=0/SUCCESS)
   Main PID: 1631 (code=exited, status=0/SUCCESS)
   Mem peak: 18M
        CPU: 204ms

Nov 11 23:23:27 dev systemd[1]: Started policyd-weight.service - Perl policy daemon for the Postfix MTA.
Nov 11 23:23:27 dev (d-weight)[1631]: policyd-weight.service: Referenced but unset environment variable evaluates to an empty string: DAEMON_OPTS
Nov 11 23:23:27 dev systemd[1]: policyd-weight.service: Deactivated successfully.

stopping/starting/restarting the service resulted in the same state.
manually executing the start command `/usr/sbin/policyd-weight -D` (as
$DAEMON_OPTS is unset by default) gave no output and never finished.

i think that the ExecStart command in
/usr/lib/systemd/system/policyd-weight.service is missing the `start`
argument.
the service starts as expected, if i change it from
ExecStart=/usr/sbin/policyd-weight -D $DAEMON_OPTS
to
ExecStart=/usr/sbin/policyd-weight -D $DAEMON_OPTS start

as `systemctl status policyd-weight.service` shows:

● policyd-weight.service - Perl policy daemon for the Postfix MTA
     Loaded: loaded (/usr/lib/systemd/system/policyd-weight.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-11-11 23:55:51 CET; 3min 37s ago
 Invocation: ac119a5028f9447991c9c7b91cc75a55
       Docs: man:policyd-weight(8)
   Main PID: 2309 (policyd-weight )
      Tasks: 2 (limit: 9486)
     Memory: 19.2M (peak: 19.4M)
        CPU: 195ms
     CGroup: /system.slice/policyd-weight.service
             ├─2309 "policyd-weight (master)"
             └─2312 "policyd-weight (cache)"

Nov 11 23:55:51 dev systemd[1]: Started policyd-weight.service - Perl policy daemon for the Postfix MTA.
Nov 11 23:55:51 dev (d-weight)[2309]: policyd-weight.service: Referenced but unset environment variable evaluates to an empty string: DAEMON_OPTS
Nov 11 23:55:51 dev postfix/policyd-weight[2309]: policyd-weight 0.1.15 beta-2 started and daemonized. conf:default settings; GID:106 106 EGID:106 106 UID:102 EUID:102; taint mode: 0
Nov 11 23:55:51 dev postfix/policyd-weight[2309]: cache_query: start: calling spawn_cache()
Nov 11 23:55:51 dev postfix/policyd-weight[2312]: cache spawned

i am a little surprised about the version naming 0.1.15 "beta-2", though.

btw, `journalctl -eu policyd-weight.service` also warns about legacy run
dir at /var/run/:

Nov 11 23:22:50 dev systemd[1]: /usr/lib/systemd/system/policyd-weight.service:7: PIDFile= references a path below legacy directory /var/run/, updating /var/run/policyd-weight.pid → /run/policyd-weight.pid; pl>
Nov 11 23:22:51 dev systemd[1]: /usr/lib/systemd/system/policyd-weight.service:7: PIDFile= references a path below legacy directory /var/run/, updating /var/run/policyd-weight.pid → /run/policyd-weight.pid; pl>

#1120548#10
Date:
2026-07-20 09:23:52 UTC
From:
To:
Hi,

I just upgraded my mailserver from bookworm to trixie two days ago.
I've been hit by this bug (I hope the two-days mails will be resent by their server).
I do not understand why this bug has not been fixed in a point-release as it clearly break upgrades.
I'm raising it severity to serious and updating its title in hope that apt-listbug will, at least, better show it.

Note: the suggested fix (adding "start" in the systemd commandline) worked perfectely


Regards,
  Vincent