[packages/mosquitto] install systemd unit
atler
atler at pld-linux.org
Sun Aug 27 21:13:00 CEST 2023
commit 9a8c1f1965b67d9786bc87abe5d757c299e45917
Author: Jan Palus <atler at pld-linux.org>
Date: Sun Aug 27 20:03:52 2023 +0200
install systemd unit
based on service/systemd/mosquitto.service.notify
mosquitto.service | 17 +++++++++++++++++
mosquitto.spec | 26 +++++++++++++++++++++++---
2 files changed, 40 insertions(+), 3 deletions(-)
---
diff --git a/mosquitto.spec b/mosquitto.spec
index 878ef97..8bea376 100644
--- a/mosquitto.spec
+++ b/mosquitto.spec
@@ -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*
diff --git a/mosquitto.service b/mosquitto.service
new file mode 100644
index 0000000..f04a065
--- /dev/null
+++ b/mosquitto.service
@@ -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
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/mosquitto.git/commitdiff/e925a6b822e5c4378dfddd85e8fdb98c8a942981
More information about the pld-cvs-commit
mailing list