[pmg-devel] [PATCH pmg-api v5 01/11] pmgpolicy: move pid file into /run/pmgpolicy
Maximiliano Sandoval
m.sandoval at proxmox.com
Fri Apr 4 15:14:28 CEST 2025
We use systemd's RuntimeDirectory to ensure the directory exists when needed.
We also set $opt_pidfile using PIDFILE, see
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#%24PIDFILE.
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
Differences from v4:
- Run pmg-smtp-filter migration if coming from a version older than 9.0.0.
- Instead of adding the pmgpolicy user to the pmg group, pmgproxy.service is
started with SupplementaryGroups=systemd-journal
- Use $ENV{'PIDFILE'} instead of hardcoding PID path on binaries backed up
with a systemd service
Differences from v3:
- Override rrdcached's systemd unit to add SOCKGROUP=pmg instead of
modifying /etc/default/rrdcached.conf
Differences from v2:
- Use systemd-sysusers for creating users
debian/pmgpolicy.service | 3 ++-
src/bin/pmgpolicy | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/debian/pmgpolicy.service b/debian/pmgpolicy.service
index 517a5d61..21a403f0 100644
--- a/debian/pmgpolicy.service
+++ b/debian/pmgpolicy.service
@@ -10,8 +10,9 @@ ExecStart=/usr/bin/pmgpolicy
KillMode=mixed
TimeoutStopSec=40
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/run/pmgpolicy.pid
+PIDFile=/run/pmgpolicy/pmgpolicy.pid
Type=forking
+RuntimeDirectory=pmgpolicy
[Install]
WantedBy=multi-user.target
diff --git a/src/bin/pmgpolicy b/src/bin/pmgpolicy
index df2e66f4..3f976ff7 100755
--- a/src/bin/pmgpolicy
+++ b/src/bin/pmgpolicy
@@ -56,7 +56,7 @@ if (!GetOptions(%_opts)) {
exit (-1);
}
-$opt_pidfile = "/run/pmgpolicy.pid" if !$opt_pidfile;
+$opt_pidfile = $ENV{'PIDFILE'} if !$opt_pidfile;
$opt_max_dequeue = 0 if $opt_testmode;
initlog('pmgpolicy', 'mail');
--
2.39.5
More information about the pmg-devel
mailing list