]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Remove the requirement for Avahi in the systemd startup file unless Avahi is included...
authorMike Brady <4265913+mikebrady@users.noreply.github.com>
Tue, 5 Apr 2022 06:22:34 +0000 (07:22 +0100)
committerMike Brady <4265913+mikebrady@users.noreply.github.com>
Tue, 5 Apr 2022 06:22:34 +0000 (07:22 +0100)
.gitignore
Makefile.am
configure.ac
scripts/shairport-sync.service-avahi.in [new file with mode: 0644]
scripts/shairport-sync.service.in

index 276d276e1ddd4681aaf4a9631e73bfb6f18dcfc3..a094f6e7321ec1ffafca78c511a0f1d7cfaf4745 100644 (file)
@@ -25,6 +25,7 @@ stamp-h1
 man/Makefile
 man/Makefile.in
 scripts/shairport-sync.service
+scripts/shairport-sync.service-avahi
 scripts/shairport-sync
 shairport-sync.core
 gitversion.h
index c8d534402c836666ce2a8b7aaa2e45658c7b4349..6949127a792f260faf4144c5836b575a437abbc5 100644 (file)
@@ -236,8 +236,12 @@ if INSTALL_SYSTEMD
        getent group shairport-sync &>/dev/null || groupadd -r shairport-sync >/dev/null
        getent passwd shairport-sync &> /dev/null || useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null
        [ -e $(DESTDIR)$(systemdsystemunitdir) ] || mkdir -p $(DESTDIR)$(systemdsystemunitdir)
+if USE_AVAHI
+       [ -e $(DESTDIR)$(systemdsystemunitdir)/shairport-sync.service ] || cp scripts/shairport-sync.service-avahi $(DESTDIR)$(systemdsystemunitdir)/shairport-sync.service
+else
        [ -e $(DESTDIR)$(systemdsystemunitdir)/shairport-sync.service ] || cp scripts/shairport-sync.service $(DESTDIR)$(systemdsystemunitdir)
 endif
+endif
 if INSTALL_FREEBSD_SERVICE
   # Choose a uid and gid of 801 completely arbitrarity, except that it should be below 1000. FreeBSD doesn't seem to allow you to say "an ID in the range of..."
        pw showgroup shairport-sync > /dev/null 2>&1 || pw addgroup -n shairport-sync -g 801 > /dev/null 2>&1
index a3c9a5292b33fb34a37265b356029db1241fea30..356d3d4c031fa282e912cd7b4d2002bd204d9cd1 100644 (file)
@@ -230,6 +230,9 @@ 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])
 fi
 AM_CONDITIONAL([USE_AVAHI], [test "x$with_avahi" = "xyes"])
 
@@ -473,6 +476,7 @@ 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])
 
-AC_CONFIG_FILES([Makefile man/Makefile scripts/shairport-sync.service])
+# Note -- there are AC_CONFIG_FILES directives further back, conditional on Avahi
+AC_CONFIG_FILES([Makefile man/Makefile])
 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
new file mode 100644 (file)
index 0000000..d1dca5a
--- /dev/null
@@ -0,0 +1,15 @@
+[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
+
+[Service]
+ExecStart=@prefix@/bin/shairport-sync
+User=shairport-sync
+Group=shairport-sync
+
+[Install]
+WantedBy=multi-user.target
index d1dca5afa1a468c6c9b04e7d1b5613aacaa2ba12..aca6453fcd6b967135744538071c3251112bfd8d 100644 (file)
@@ -1,8 +1,6 @@
 [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