提交 12e90ce9 authored 作者: Travis Cross's avatar Travis Cross

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 adb5f0d2 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: adb5f0d2
上级 e7e79c21
d /run/freeswitch 0755 freeswitch freeswitch -
...@@ -9,13 +9,13 @@ After=syslog.target network.target local-fs.target ...@@ -9,13 +9,13 @@ After=syslog.target network.target local-fs.target
Type=forking Type=forking
PIDFile=/run/freeswitch/freeswitch.pid PIDFile=/run/freeswitch/freeswitch.pid
PermissionsStartOnly=true PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /run/freeswitch
ExecStartPre=/bin/chown freeswitch:freeswitch /run/freeswitch
ExecStartPre=/bin/chown freeswitch:freeswitch /etc/freeswitch/tls ExecStartPre=/bin/chown freeswitch:freeswitch /etc/freeswitch/tls
ExecStart=/usr/bin/freeswitch -ncwait -nonat ExecStart=/usr/bin/freeswitch -ncwait -nonat
TimeoutSec=45s TimeoutSec=45s
Restart=always Restart=always
; exec ; exec
RuntimeDirectory=freeswitch
RuntimeDirectoryMode=0755
WorkingDirectory=/var/log/freeswitch WorkingDirectory=/var/log/freeswitch
User=freeswitch User=freeswitch
Group=freeswitch Group=freeswitch
......
/lib/systemd/system/freeswitch.service /lib/systemd/system/freeswitch.service
/usr/lib/tmpfiles.d/freeswitch.conf
...@@ -100,10 +100,6 @@ override_dh_auto_install: ...@@ -100,10 +100,6 @@ override_dh_auto_install:
dh_auto_install -- -C libs/esl pymod-install dh_auto_install -- -C libs/esl pymod-install
mkdir -p debian/tmp/lib/systemd/system mkdir -p debian/tmp/lib/systemd/system
install -m0644 debian/freeswitch-systemd.freeswitch.service debian/tmp/lib/systemd/system/freeswitch.service 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 rm -f debian/tmp/usr/share/freeswitch/grammar/model/communicator/COPYING
override_dh_installinit: override_dh_installinit:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论