]> git.pld-linux.org Git - packages/mosquitto.git/commitdiff
install systemd unit
authorJan Palus <atler@pld-linux.org>
Sun, 27 Aug 2023 18:03:52 +0000 (20:03 +0200)
committerJan Palus <atler@pld-linux.org>
Sun, 27 Aug 2023 18:03:52 +0000 (20:03 +0200)
based on service/systemd/mosquitto.service.notify

mosquitto.service [new file with mode: 0644]
mosquitto.spec

diff --git a/mosquitto.service b/mosquitto.service
new file mode 100644 (file)
index 0000000..f04a065
--- /dev/null
@@ -0,0 +1,17 @@
+[Unit]
+Description=Mosquitto MQTT Broker
+Documentation=man:mosquitto.conf(5) man:mosquitto(8)
+After=network.target
+Wants=network.target
+
+[Service]
+Type=notify
+NotifyAccess=main
+User=mosquitto
+Group=mosquitto
+ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
index 878ef97e08dfb854aa1ada5d8f8b3a22fccd0b61..8bea3762512be8ce9fcce35973f1dc0916ed1816 100644 (file)
@@ -1,5 +1,9 @@
 # TODO
 # - initscript
+#
+# Conditional build:
+%bcond_without systemd         # systemd support
+
 Summary:       An Open Source MQTT v3.1 Broker
 Name:          mosquitto
 Version:       2.0.17
@@ -8,6 +12,7 @@ License:       BSD
 Group:         Applications
 Source0:       https://mosquitto.org/files/source/%{name}-%{version}.tar.gz
 # Source0-md5: ecdd48b9bdc5fbb24b9bf1fb199253f7
+Source1:       mosquitto.service
 URL:           http://mosquitto.org/
 BuildRequires: cmake >= 3.1
 BuildRequires: cjson-devel
@@ -16,8 +21,8 @@ BuildRequires:        libwrap-devel
 BuildRequires: libxslt-progs
 BuildRequires: openssl-devel
 BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.605
-BuildRequires: systemd-devel
+BuildRequires: rpmbuild(macros) >= 1.742
+%{?with_systemd:BuildRequires: systemd-devel}
 BuildRequires: uthash-devel
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -96,7 +101,7 @@ cd build
 %cmake \
        -DUSE_LIBWRAP:BOOL=ON \
        -DWITH_BUNDLED_DEPS:BOOL=OFF \
-       -DWITH_SYSTEMD:BOOL=ON \
+       %{cmake_on_off systemd SYSTEMD} \
        ..
 %{__make}
 cd ..
@@ -111,6 +116,8 @@ for file in aclfile pskfile pwfile ; do
        :> $RPM_BUILD_ROOT/etc/%{name}/$file
 done
 
+%{?with_systemd:install -D %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/mosquitto.service}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -123,12 +130,24 @@ if [ "$1" = "0" ]; then
        %groupremove mosquitto
 fi
 
+%post
+%{?with_systemd:%systemd_post mosquitto.service}
+
+%preun
+%{?with_systemd:%systemd_preun mosquitto.service}
+
+%postun
+%{?with_systemd:%systemd_reload}
+
 %post  -n libmosquitto -p /sbin/ldconfig
 %postun        -n libmosquitto -p /sbin/ldconfig
 
 %post  -n libmosquittopp -p /sbin/ldconfig
 %postun        -n libmosquittopp -p /sbin/ldconfig
 
+%triggerpostun -- mosquitto < 2.0.17
+%systemd_trigger mosquitto.service
+
 %files
 %defattr(644,root,root,755)
 %doc LICENSE.txt CONTRIBUTING.md ChangeLog.txt README.md examples aclfile.example mosquitto.conf pskfile.example pwfile.example
@@ -141,6 +160,7 @@ fi
 %attr(755,root,root) %{_bindir}/mosquitto_passwd
 %attr(755,root,root) %{_sbindir}/mosquitto
 %attr(755,root,root) %{_libdir}/mosquitto_dynamic_security.so
+%{?with_systemd:%{systemdunitdir}/mosquitto.service}
 %{_mandir}/man1/mosquitto_ctrl.1*
 %{_mandir}/man1/mosquitto_ctrl_dynsec.1*
 %{_mandir}/man1/mosquitto_passwd.1*
This page took 0.680136 seconds and 4 git commands to generate.