]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Use common service file for avahi
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Thu, 22 Jan 2026 17:30:23 +0000 (12:30 -0500)
committerHugo Villeneuve <hugo@hugovil.com>
Mon, 26 Jan 2026 15:24:22 +0000 (10:24 -0500)
Use variable substitution to simplify service file for optional avahi.

This will also help to simplify adding future service dependencies.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
.gitignore
Makefile.am
configure.ac
scripts/shairport-sync.service-avahi.in [deleted file]
scripts/shairport-sync.service.in

index 52645da65124746298f7930f234b57d25f1bce37..cdb2489a81eeacd679799ad25bb2acca0697db9a 100644 (file)
@@ -25,7 +25,6 @@ stamp-h1
 man/Makefile
 man/Makefile.in
 scripts/shairport-sync.service
-scripts/shairport-sync.service-avahi
 scripts/shairport-sync
 shairport-sync.core
 gitversion-stamp
index 8c70fd6fe7786b3c895311fed7c52e240bb501a7..1d5bf1769c9aa36bf7323bb9cefa3252f9ae8cf3 100644 (file)
@@ -277,11 +277,7 @@ endif # INSTALL_SYSTEMV_STARTUP
 
 if INSTALL_SYSTEMD_STARTUP
 
-if USE_AVAHI
-SYSTEMD_SERVICE = shairport-sync.service-avahi
-else
 SYSTEMD_SERVICE = shairport-sync.service
-endif # USE_AVAHI
 
 INSTALL_SYSTEMD_TARGET = install-systemd-local
 
index 8d80675cfb89e483abe0d570c099807bcfb0ccb1..31b8bc203146deab995cdd9059b6b2fd0d4f0840 100644 (file)
@@ -228,9 +228,8 @@ if test "x$with_avahi" = "xyes" ; then
   AC_DEFINE([CONFIG_AVAHI], 1, [Include Avahi-based mDNS support.])
   AC_CHECK_LIB([avahi-client], [avahi_client_new], , AC_MSG_ERROR(Avahi support requires the avahi-client library!))
   AC_CHECK_LIB([avahi-common],[avahi_strerror], , AC_MSG_ERROR(Avahi support requires the avahi-common library!))
-  AC_CONFIG_FILES([scripts/shairport-sync.service-avahi])
-else
-  AC_CONFIG_FILES([scripts/shairport-sync.service])
+  systemd_after_args="${systemd_after_args} avahi-daemon.service"
+  systemd_requires_args="${systemd_requires_args} avahi-daemon.service"
 fi
 AM_CONDITIONAL([USE_AVAHI], [test "x$with_avahi" = "xyes"])
 
@@ -558,12 +557,22 @@ AC_FUNC_ERROR_AT_LINE
 AC_FUNC_FORK
 AC_CHECK_FUNCS([atexit clock_gettime gethostname inet_ntoa memchr memmove memset mkfifo pow select socket stpcpy strcasecmp strchr strdup strerror strstr strtol strtoul])
 
-# Note -- there are AC_CONFIG_FILES directives further back, conditional on Avahi
+if test "x${systemd_after_args}" != x ; then
+  systemd_after_args="After=${systemd_after_args}"
+fi
+
+if test "x${systemd_requires_args}" != x ; then
+  systemd_requires_args="Requires=${systemd_requires_args}"
+fi
+
+AC_SUBST([SYSTEMD_AFTER_ARGS], [${systemd_after_args}])
+AC_SUBST([SYSTEMD_REQUIRES_ARGS], [${systemd_requires_args}])
 
 # The man directory will not be recursively made unless you set the SUBDIR in Makefile.am.
 # But leave this as is to enable a distclean to be done.
 
 AC_CONFIG_FILES([Makefile man/Makefile])
 
+AC_CONFIG_FILES([scripts/shairport-sync.service])
 AC_CONFIG_FILES([scripts/shairport-sync],[chmod +x scripts/shairport-sync])
 AC_OUTPUT
diff --git a/scripts/shairport-sync.service-avahi.in b/scripts/shairport-sync.service-avahi.in
deleted file mode 100644 (file)
index 71090af..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-[Unit]
-Description=Shairport Sync - AirPlay Audio Receiver
-After=sound.target
-Requires=avahi-daemon.service
-After=avahi-daemon.service
-Wants=network-online.target
-After=network.target network-online.target
-StartLimitIntervalSec=300
-StartLimitBurst=5
-
-[Service]
-ExecStart=@prefix@/bin/shairport-sync --log-to-syslog
-User=shairport-sync
-Group=shairport-sync
-LimitRTPRIO=5
-Restart=on-failure
-RestartSec=5s
-
-[Install]
-WantedBy=multi-user.target
index 5166dcdf16f50b7ab9ec84b691315c76dc8dc161..6314b27d0d332d773c75fc73073dd9084057531b 100644 (file)
@@ -3,6 +3,8 @@ Description=Shairport Sync - AirPlay Audio Receiver
 After=sound.target
 Wants=network-online.target
 After=network.target network-online.target
+@SYSTEMD_AFTER_ARGS@
+@SYSTEMD_REQUIRES_ARGS@
 StartLimitIntervalSec=300
 StartLimitBurst=5