Use systemd RuntimeDirectory for /run/freeswitch

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: adb5f0d278
This commit is contained in:
Travis Cross 2015-09-22 04:23:20 +00:00
parent e7e79c213d
commit 12e90ce989
4 changed files with 2 additions and 8 deletions

View File

@ -1 +0,0 @@
d /run/freeswitch 0755 freeswitch freeswitch -

View File

@ -9,13 +9,13 @@ After=syslog.target network.target local-fs.target
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

View File

@ -1,2 +1 @@
/lib/systemd/system/freeswitch.service
/usr/lib/tmpfiles.d/freeswitch.conf

4
debian/rules vendored
View File

@ -100,10 +100,6 @@ override_dh_auto_install:
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: