This changes how we create the temporary directory /run/freeswitch
when starting FS with systemd. The /run directory starts empty after
a system reboot, so we need to ensure this directory is present.
Originally for the FS systemd unit we created /run/freeswitch using
ExecStartPre and mkdir. With commit
adb5f0d this was changed to use
the tmpfiles.d(5) mechanism (but the ExecStartPre/mkdir code was not
removed).
As part of systemd.exec(5), systemd provides a mechanism to
automatically manage these directories under /run and to bind their
lifetime to the lifetime of the process. This is actually what we
want here as compared to the more general tmpfiles.d(5) mechanism.
This commit moves to using the RuntimeDirectory= mechanism and removes
the obsolete ExecStartPre/mkdir code.
References-commit:
adb5f0d278bae7ccda1d1807f094876a4671f94d
+++ /dev/null
-d /run/freeswitch 0755 freeswitch freeswitch -
Type=forking
PIDFile=/run/freeswitch/freeswitch.pid
PermissionsStartOnly=true
-ExecStartPre=/bin/mkdir -p /run/freeswitch
-ExecStartPre=/bin/chown freeswitch:freeswitch /run/freeswitch
ExecStartPre=/bin/chown freeswitch:freeswitch /etc/freeswitch/tls
ExecStart=/usr/bin/freeswitch -ncwait -nonat
TimeoutSec=45s
Restart=always
; exec
+RuntimeDirectory=freeswitch
+RuntimeDirectoryMode=0755
WorkingDirectory=/var/log/freeswitch
User=freeswitch
Group=freeswitch
/lib/systemd/system/freeswitch.service
-/usr/lib/tmpfiles.d/freeswitch.conf
dh_auto_install -- -C libs/esl pymod-install
mkdir -p debian/tmp/lib/systemd/system
install -m0644 debian/freeswitch-systemd.freeswitch.service debian/tmp/lib/systemd/system/freeswitch.service
-
- mkdir -p debian/tmp/usr/lib/tmpfiles.d
- install -m0644 debian/freeswitch-systemd.freeswitch.conf debian/tmp/usr/lib/tmpfiles.d/freeswitch.conf
-
rm -f debian/tmp/usr/share/freeswitch/grammar/model/communicator/COPYING
override_dh_installinit: