]> git.pld-linux.org Git - packages/mosquitto.git/blob - mosquitto.spec
ee4b57fe34b52fa81e6581df3a310e82c279f5f9
[packages/mosquitto.git] / mosquitto.spec
1 # TODO
2 # - initscript
3 #
4 # Conditional build:
5 %bcond_without  systemd         # systemd support
6
7 Summary:        An Open Source MQTT v3.1 Broker
8 Name:           mosquitto
9 Version:        2.0.17
10 Release:        1
11 License:        BSD
12 Group:          Applications
13 Source0:        https://mosquitto.org/files/source/%{name}-%{version}.tar.gz
14 # Source0-md5:  ecdd48b9bdc5fbb24b9bf1fb199253f7
15 Source1:        mosquitto.service
16 URL:            http://mosquitto.org/
17 BuildRequires:  cmake >= 3.1
18 BuildRequires:  cjson-devel
19 BuildRequires:  libstdc++-devel
20 BuildRequires:  libwrap-devel
21 BuildRequires:  libxslt-progs
22 BuildRequires:  openssl-devel
23 BuildRequires:  pkgconfig
24 BuildRequires:  rpmbuild(macros) >= 1.742
25 %{?with_systemd:BuildRequires:  systemd-devel}
26 BuildRequires:  uthash-devel
27 Requires(postun):       /usr/sbin/groupdel
28 Requires(postun):       /usr/sbin/userdel
29 Requires(pre):  /bin/id
30 Requires(pre):  /usr/bin/getgid
31 Requires(pre):  /usr/sbin/groupadd
32 Requires(pre):  /usr/sbin/useradd
33 Suggests:       %{name}-clients
34 Provides:       group(mosquitto)
35 Provides:       user(mosquitto)
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %description
39 Mosquitto is an open source (BSD licensed) message broker that
40 implements the MQ Telemetry Transport protocol version 3.1. MQTT
41 provides a lightweight method of carrying out messaging using a
42 publish/subscribe model. This makes it suitable for "machine to
43 machine" messaging such as with low power sensors or mobile devices
44 such as phones, embedded computers or micro-controllers like the
45 Arduino.
46
47 %package clients
48 Summary:        Mosquitto command line pub/sub clients
49 Group:          Applications/Networking
50 Requires:       libmosquitto = %{version}-%{release}
51
52 %description clients
53 This is two MQTT version 3 clients. The first can publish messages to
54 a broker, the second can subscribe to multiple topics on a broker.
55
56 %package -n libmosquitto
57 Summary:        MQTT C client library
58 Group:          Development/Libraries
59
60 %description -n libmosquitto
61 This is a library that provides a means of implementing MQTT version 3
62 clients. MQTT provides a lightweight method of carrying out messaging
63 using a publish/subscribe model.
64
65 %package -n libmosquitto-devel
66 Summary:        MQTT C client library development files
67 Group:          Development/Libraries
68 Requires:       libmosquitto = %{version}-%{release}
69
70 %description -n libmosquitto-devel
71 This is a library that provides a means of implementing MQTT version 3
72 clients. MQTT provides a lightweight method of carrying out messaging
73 using a publish/subscribe model.
74
75 %package -n libmosquittopp
76 Summary:        MQTT C++ client library
77 Group:          Development/Libraries
78
79 %description -n libmosquittopp
80 This is a library that provides a means of implementing MQTT version 3
81 clients. MQTT provides a lightweight method of carrying out messaging
82 using a publish/subscribe model.
83
84 %package -n libmosquittopp-devel
85 Summary:        MQTT C++ client library development files
86 Group:          Development/Libraries
87 Requires:       libmosquittopp = %{version}-%{release}
88 Requires:       libmosquitto-devel = %{version}-%{release}
89
90 %description -n libmosquittopp-devel
91 This is a library that provides a means of implementing MQTT version 3
92 clients. MQTT provides a lightweight method of carrying out messaging
93 using a publish/subscribe model.
94
95 %prep
96 %setup -q
97
98 %build
99 install -d build
100 cd build
101 %cmake \
102         -DUSE_LIBWRAP:BOOL=ON \
103         -DWITH_BUNDLED_DEPS:BOOL=OFF \
104         %{cmake_on_off systemd SYSTEMD} \
105         ..
106 %{__make}
107 cd ..
108
109 %install
110 rm -rf $RPM_BUILD_ROOT
111 %{__make} -C build install \
112         DESTDIR=$RPM_BUILD_ROOT
113
114 for file in aclfile pskfile pwfile ; do
115         %{__rm} $RPM_BUILD_ROOT/etc/mosquitto/$file.example
116         :> $RPM_BUILD_ROOT/etc/%{name}/$file
117 done
118
119 %{?with_systemd:install -D %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/mosquitto.service}
120
121 %clean
122 rm -rf $RPM_BUILD_ROOT
123
124 %pre
125 %groupadd -g 293 -r mosquitto
126 %useradd -u 293 -r -g mosquitto -d %{_sysconfdir}/%{name} -s /sbin/nologin -c "Mosquitto Broker" mosquitto
127
128 if [ "$1" = "0" ]; then
129         %userremove mosquitto
130         %groupremove mosquitto
131 fi
132
133 %post
134 %{?with_systemd:%systemd_post mosquitto.service}
135
136 %preun
137 %{?with_systemd:%systemd_preun mosquitto.service}
138
139 %postun
140 %{?with_systemd:%systemd_reload}
141
142 %post   -n libmosquitto -p /sbin/ldconfig
143 %postun -n libmosquitto -p /sbin/ldconfig
144
145 %post   -n libmosquittopp -p /sbin/ldconfig
146 %postun -n libmosquittopp -p /sbin/ldconfig
147
148 %triggerpostun -- mosquitto < 2.0.17
149 %systemd_trigger mosquitto.service
150
151 %files
152 %defattr(644,root,root,755)
153 %doc LICENSE.txt CONTRIBUTING.md ChangeLog.txt README.md examples aclfile.example mosquitto.conf pskfile.example pwfile.example
154 %attr(700,mosquitto,mosquitto) %dir %{_sysconfdir}/%{name}
155 %attr(600,mosquitto,mosquitto) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
156 %attr(600,mosquitto,mosquitto) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/aclfile
157 %attr(600,mosquitto,mosquitto) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/pskfile
158 %attr(600,mosquitto,mosquitto) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/pwfile
159 %attr(755,root,root) %{_bindir}/mosquitto_ctrl
160 %attr(755,root,root) %{_bindir}/mosquitto_passwd
161 %attr(755,root,root) %{_sbindir}/mosquitto
162 %attr(755,root,root) %{_libdir}/mosquitto_dynamic_security.so
163 %{?with_systemd:%{systemdunitdir}/mosquitto.service}
164 %{_mandir}/man1/mosquitto_ctrl.1*
165 %{_mandir}/man1/mosquitto_ctrl_dynsec.1*
166 %{_mandir}/man1/mosquitto_passwd.1*
167 %{_mandir}/man5/mosquitto.conf.5*
168 %{_mandir}/man7/mosquitto-tls.7*
169 %{_mandir}/man7/mqtt.7*
170 %{_mandir}/man8/mosquitto.8*
171
172 %files clients
173 %defattr(644,root,root,755)
174 %attr(755,root,root) %{_bindir}/mosquitto_pub
175 %attr(755,root,root) %{_bindir}/mosquitto_rr
176 %attr(755,root,root) %{_bindir}/mosquitto_sub
177 %{_mandir}/man1/mosquitto_pub.1*
178 %{_mandir}/man1/mosquitto_rr.1*
179 %{_mandir}/man1/mosquitto_sub.1*
180
181 %files -n libmosquitto
182 %defattr(644,root,root,755)
183 %attr(755,root,root) %{_libdir}/libmosquitto.so.*.*.*
184 %ghost %{_libdir}/libmosquitto.so.1
185
186 %files -n libmosquitto-devel
187 %defattr(644,root,root,755)
188 %{_mandir}/man3/libmosquitto.3*
189 %{_libdir}/libmosquitto.so
190 %{_includedir}/mosquitto_broker.h
191 %{_includedir}/mosquitto.h
192 %{_includedir}/mosquitto_plugin.h
193 %{_includedir}/mqtt_protocol.h
194 %{_pkgconfigdir}/libmosquitto.pc
195 %{_pkgconfigdir}/libmosquittopp.pc
196
197 %files -n libmosquittopp
198 %defattr(644,root,root,755)
199 %attr(755,root,root) %{_libdir}/libmosquittopp.so.*.*.*
200 %ghost %{_libdir}/libmosquittopp.so.1
201
202 %files -n libmosquittopp-devel
203 %defattr(644,root,root,755)
204 %{_libdir}/libmosquittopp.so
205 %{_includedir}/mosquittopp.h
This page took 0.108684 seconds and 2 git commands to generate.