package/mosquitto: extend systemd integration

Since version 1.5, mosquitto can be built with explicit support for
systemd. If enabled, libmosquitto will link against libsystemd: when
started, the mosquitto broker notifies systemd that it is ready (ie.
initialized and ready to accept connections), so that services that
depend on the mqtt broker can be started only at that point.

To enable this feature, the systemd service config file needs to change
to Type=notify. Upstream now provides such a file, so we can remove
ours.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Titouan Christophe 2019-08-03 11:38:57 +02:00 committed by Peter Korsgaard
parent a95bdd9647
commit f9baca0eea
2 changed files with 6 additions and 11 deletions

View File

@ -29,6 +29,11 @@ else
MOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=yes
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
MOSQUITTO_MAKE_OPTS += WITH_SYSTEMD=yes
MOSQUITTO_DEPENDENCIES += systemd
endif
# adns uses getaddrinfo_a
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
MOSQUITTO_MAKE_OPTS += WITH_ADNS=yes
@ -102,7 +107,7 @@ define MOSQUITTO_INSTALL_INIT_SYSV
endef
define MOSQUITTO_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/mosquitto/mosquitto.service \
$(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \
$(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/mosquitto.service \

View File

@ -1,10 +0,0 @@
[Unit]
Description=Mosquitto MQTT broker
[Service]
ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target