package/avahi: use upstream-provided systemd files

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>
This commit is contained in:
André Erdmann 2014-10-17 21:10:42 +02:00 committed by Thomas Petazzoni
parent bbd2948c98
commit 9b41c827a2
2 changed files with 4 additions and 19 deletions

View File

@ -1,15 +0,0 @@
[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

View File

@ -164,14 +164,14 @@ endif
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 \