Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add systemd unit file for SvxReflector
  • Loading branch information
sm0svx committed Dec 30, 2017
1 parent 99b4b0a commit 35b9c74
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/svxlink/systemd/CMakeLists.txt
Expand Up @@ -20,6 +20,9 @@ configure_file(${SYSTEMD_SOURCE_DIR}/remotetrx.service.in
${PROJECT_BINARY_DIR}/systemd/remotetrx.service)
#message(STATUS "Configured systemd unit file:remotetrx.service")

configure_file(${SYSTEMD_SOURCE_DIR}/svxreflector.service.in
${PROJECT_BINARY_DIR}/systemd/svxreflector.service)

configure_file(${SYSTEMD_SOURCE_DIR}/svxlink.default.in
${PROJECT_BINARY_DIR}/systemd/svxlink)
#message(STATUS "Configured systemd unit file:svxlink")
Expand All @@ -28,19 +31,26 @@ configure_file(${SYSTEMD_SOURCE_DIR}/remotetrx.default.in
${PROJECT_BINARY_DIR}/systemd/remotetrx)
#message(STATUS "Configured systemd unit file:remotetrx")

configure_file(${SYSTEMD_SOURCE_DIR}/svxreflector.default.in
${PROJECT_BINARY_DIR}/systemd/svxreflector)

install(FILES ${PROJECT_BINARY_DIR}/systemd/svxlink_gpio_setup.service
DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR})
install(FILES ${PROJECT_BINARY_DIR}/systemd/svxlink.service
DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR})
install(FILES ${PROJECT_BINARY_DIR}/systemd/remotetrx.service
DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR})
install(FILES ${PROJECT_BINARY_DIR}/systemd/svxreflector.service
DESTINATION ${SYSTEMD_CONFIGURATIONS_FILES_DIR})
message(STATUS "Systemd unit files will be installed to "
"${SYSTEMD_CONFIGURATIONS_FILES_DIR} after make install")

install(FILES ${PROJECT_BINARY_DIR}/systemd/svxlink
DESTINATION ${SYSTEMD_DEFAULTS_FILES_DIR} )
install(FILES ${PROJECT_BINARY_DIR}/systemd/remotetrx
DESTINATION ${SYSTEMD_DEFAULTS_FILES_DIR} )
install(FILES ${PROJECT_BINARY_DIR}/systemd/svxreflector
DESTINATION ${SYSTEMD_DEFAULTS_FILES_DIR} )
message(STATUS "Systemd unit configuration files will be "
"installed to ${SYSTEMD_DEFAULTS_FILES_DIR} "
"after make install")
11 changes: 11 additions & 0 deletions src/svxlink/systemd/svxreflector.default.in
@@ -0,0 +1,11 @@
#############################################################################
#
# Configuration file for the SvxReflector Systemd unit file
#
#############################################################################

# The user to run the SvxReflector server as
RUNASUSER=@SVXLINK_USER@

# Specify which configuration file to use
CFGFILE=@SVX_SYSCONF_INSTALL_DIR@/svxreflector.conf
19 changes: 19 additions & 0 deletions src/svxlink/systemd/svxreflector.service.in
@@ -0,0 +1,19 @@
[Unit]
Description=SvxReflector SvxLink node linking software
Documentation=man:svxreflector(1)
After=network.target remote-fs.target syslog.target time.target

[Service]
EnvironmentFile=/etc/default/svxreflector
PIDFile=/run/svxreflector.pid
ExecStartPre=-/bin/touch /var/log/svxreflector
ExecStartPre=-/bin/chown $RUNASUSER /var/log/svxreflector
ExecStart=/bin/sh -c '@BIN_INSTALL_DIR@/svxreflector --logfile=/var/log/svxreflector --config=$CFGFILE --pidfile=/run/svxreflector.pid --runasuser=$RUNASUSER'
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
TimeoutStartSec=60
LimitCORE=infinity
WorkingDirectory=@SVX_SYSCONF_INSTALL_DIR@

[Install]
WantedBy=multi-user.target

0 comments on commit 35b9c74

Please sign in to comment.