When using the buildroot-provided avahi-daemon.service file, bootup never
finishes, because multi-user.target is waiting for avahi-daemon to exit,
which is caused by "Type=oneshot" (in avahi-daemon.service).
Upstream's systemd files get already installed to /lib/systemd.
They're not an exact copy of S50avahi-daemon, but work flawlessly,
so use these units:
* avahi-daemon.service, auto-enabled (ln -fs in AVAHI_INSTALL_INIT_SYSTEMD)
* avahi-daemon.socket,
not auto-enabled, but a dependency of avahi-daemon.service
* avahi-dnsconfd.service, auto-enabled
[Thomas: use simpler absolute paths for the symbolic links instead of
relative paths. Suggested by Maxime Hadjinlian.]
Signed-off-by: André Erdmann <dywi@mailerd.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+++ /dev/null
-[Unit]
-Description=Avahi daemon
-Requires=dbus.target
-After=syslog.target network.target auditd.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=ye
-ExecStart=/usr/sbin/avahi-daemon -s
-ExecReload=/usr/sbin/avahi-daemon -r
-ExecStop=/usr/sbin/avahi-daemon -k
-Restart=restart-always
-
-[Install]
-WantedBy=multi-user.target
ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y)
define AVAHI_INSTALL_INIT_SYSTEMD
- $(INSTALL) -D -m 644 package/avahi/avahi-daemon.service \
- $(TARGET_DIR)/etc/systemd/system/avahi-daemon.service
-
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../avahi-daemon.service \
+ ln -fs /lib/systemd/system/avahi-daemon.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
+ ln -fs /lib/systemd/system/avahi-dnsconfd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-dnsconfd.service
+
mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
$(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \