]>
Commit | Line | Data |
---|---|---|
591b0ad2 JB |
1 | # TODO: |
2 | # - qpidd user/group | |
3 | # - qpidd init script | |
9b33a909 | 4 | # - look at Fedora spec at: http://pkgs.fedoraproject.org/cgit/qpid-cpp.git |
591b0ad2 JB |
5 | # |
6 | # Conditional build: | |
7 | %bcond_without cman # cman quorum service | |
8 | %bcond_without corosync # CPG clustering | |
9 | %bcond_without rdma # Remote DMA protocol | |
10 | %bcond_without static_libs # static libraries | |
11 | # | |
591b0ad2 JB |
12 | Summary: C++ implementation of the AMQP protocol |
13 | Summary(pl.UTF-8): Implementacja protokołu AMQP w C++ | |
14 | Name: qpid-cpp | |
15 | Version: 0.16 | |
1ea345ac | 16 | Release: 0.2 |
591b0ad2 JB |
17 | License: Apache v2.0 |
18 | Group: Libraries | |
19 | Source0: http://www.us.apache.org/dist/qpid/%{version}/%{name}-%{version}.tar.gz | |
20 | # Source0-md5: 0be857cfc7615763e9296955d33972d5 | |
21 | Patch0: %{name}-boost.patch | |
22 | Patch1: %{name}-link.patch | |
23 | Patch2: %{name}-perl.patch | |
7dd8d47d JB |
24 | # https://reviews.apache.org/r/5593/ |
25 | Patch3: %{name}-qmf-broker.patch | |
1ea345ac JB |
26 | Patch4: %{name}-c++.patch |
27 | Patch5: %{name}-corosync.patch | |
28 | Patch6: %{name}-ruby.patch | |
591b0ad2 JB |
29 | URL: http://qpid.apache.org/ |
30 | BuildRequires: acl-devel | |
31 | BuildRequires: autoconf >= 2.59 | |
32 | BuildRequires: automake | |
33 | BuildRequires: boost-devel >= 1.33.1 | |
34 | %{?with_cman:BuildRequires: cman-devel} | |
35 | %{?with_corosync:BuildRequires: corosync-devel} | |
36 | BuildRequires: cyrus-sasl-devel >= 2.0 | |
37 | BuildRequires: doxygen | |
38 | BuildRequires: help2man | |
39 | BuildRequires: libstdc++-devel | |
40 | BuildRequires: libtool | |
41 | BuildRequires: libuuid-devel | |
42 | BuildRequires: nspr-devel | |
43 | BuildRequires: nss-devel | |
44 | BuildRequires: perl-devel | |
45 | BuildRequires: pkgconfig | |
46 | BuildRequires: python-devel >= 1:2.7 | |
47 | BuildRequires: rpm-perlprov | |
48 | BuildRequires: rpm-pythonprov | |
1ea345ac | 49 | BuildRequires: rpmbuild(macros) >= 1.745 |
591b0ad2 JB |
50 | BuildRequires: ruby-devel >= 1.8 |
51 | BuildRequires: swig-python >= 1.3.26 | |
52 | BuildRequires: swig-ruby >= 1.3.26 | |
53 | BuildRequires: xerces-c-devel | |
899c5b1e | 54 | BuildRequires: xqilla-devel |
591b0ad2 JB |
55 | %if %{with rdma} |
56 | BuildRequires: libibverbs-devel | |
57 | BuildRequires: librdmacm-devel | |
58 | %endif | |
59 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
60 | ||
61 | %description | |
62 | Qpid/C++ is a C++ implementation of the AMQP protcol described at | |
63 | <http://amqp.org/>. | |
64 | ||
65 | %description -l pl.UTF-8 | |
66 | Qpid/C++ to implementacja w C++ protokołu AMQP opisanego pod | |
67 | <http://amqp.org/>. | |
68 | ||
69 | %package client | |
70 | Summary: AMQP client modules and configuration | |
71 | Summary(pl.UTF-8): Klient AMQP - moduły i konfiguracja | |
72 | Group: Libraries | |
73 | Requires: %{name}-libs = %{version}-%{release} | |
74 | ||
75 | %description client | |
76 | Qpid/C++ is a C++ implementation of the AMQP protcol described at | |
77 | <http://amqp.org/>. This package contains client modules and | |
78 | configuration. | |
79 | ||
80 | %description client -l pl.UTF-8 | |
81 | Qpid/C++ to implementacja w C++ protokołu AMQP opisanego pod | |
82 | <http://amqp.org/>. Ten pakiet zawiera moduły oraz konfigurację | |
83 | klienta. | |
84 | ||
85 | %package server | |
86 | Summary: AMQP server | |
87 | Summary(pl.UTF-8): Serwer AMQP | |
88 | Group: Daemons | |
89 | Requires: %{name}-libs = %{version}-%{release} | |
90 | ||
91 | %description server | |
92 | Qpid/C++ is a C++ implementation of the AMQP protcol described at | |
93 | <http://amqp.org/>. This package contains the server. | |
94 | ||
95 | %description server -l pl.UTF-8 | |
96 | Qpid/C++ to implementacja w C++ protokołu AMQP opisanego pod | |
97 | <http://amqp.org/>. Ten pakiet zawiera serwer. | |
98 | ||
99 | %package libs | |
100 | Summary: AMQP runtime libraries | |
101 | Summary(pl.UTF-8): Biblioteki uruchomieniowe AMQP | |
102 | Group: Libraries | |
103 | ||
104 | %description libs | |
105 | Qpid/C++ is a C++ implementation of the AMQP protcol described at | |
106 | <http://amqp.org/>. This package contains the runtime libraries. | |
107 | ||
108 | %description libs -l pl.UTF-8 | |
109 | Qpid/C++ to implementacja w C++ protokołu AMQP opisanego pod | |
110 | <http://amqp.org/>. Ten pakiet zawiera biblioteki uruchomieniowe. | |
111 | ||
112 | %package devel | |
113 | Summary: Header files for Qpid/C++ libraries | |
114 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Qpid/C++ | |
115 | Group: Development/Libraries | |
116 | Requires: %{name}-libs = %{version}-%{release} | |
117 | ||
118 | %description devel | |
119 | Header files for Qpid/C++ libraries. | |
120 | ||
121 | %description devel -l pl.UTF-8 | |
122 | Pliki nagłówkowe bibliotek Qpid/C++. | |
123 | ||
124 | %package static | |
125 | Summary: Static Qpid/C++ libraries | |
126 | Summary(pl.UTF-8): Statyczne biblioteki Qpid/C++ | |
127 | Group: Development/Libraries | |
128 | Requires: %{name}-devel = %{version}-%{release} | |
129 | ||
130 | %description static | |
131 | Static Qpid/C++ libraries. | |
132 | ||
133 | %description static -l pl.UTF-8 | |
134 | Statyczne biblioteki Qpid/C++. | |
135 | ||
136 | %package qmfgen | |
137 | Summary: QMF code generator | |
138 | Summary(pl.UTF-8): Generator kodu QMF | |
139 | Group: Development/Tools | |
140 | Requires: python-modules | |
141 | ||
142 | %description qmfgen | |
143 | QMF code generator. | |
144 | ||
145 | %description qmfgen -l pl.UTF-8 | |
146 | Generator kodu QMF. | |
147 | ||
148 | %package -n perl-%{name} | |
149 | Summary: Perl bindings for Qpid/C++ libraries | |
150 | Summary(pl.UTF-8): Wiązania Perla do bibliotek Qpid/C++ | |
9b33a909 | 151 | Group: Development/Languages/Perl |
591b0ad2 JB |
152 | Requires: %{name}-libs = %{version}-%{release} |
153 | ||
154 | %description -n perl-%{name} | |
155 | Perl bindings for Qpid/C++ libraries. | |
156 | ||
157 | %description -n perl-%{name} -l pl.UTF-8 | |
158 | Wiązania Perla do bibliotek Qpid/C++. | |
159 | ||
160 | %package -n python-%{name} | |
161 | Summary: Python bindings for Qpid/C++ libraries | |
162 | Summary(pl.UTF-8): Wiązania Pythona do bibliotek Qpid/C++ | |
163 | Group: Libraries/Python | |
164 | Requires: %{name}-libs = %{version}-%{release} | |
165 | Requires: python-modules | |
166 | ||
167 | %description -n python-%{name} | |
168 | Python bindings for Qpid/C++ libraries. | |
169 | ||
170 | %description -n python-%{name} -l pl.UTF-8 | |
171 | Wiązania Pythona do bibliotek Qpid/C++. | |
172 | ||
173 | %package -n ruby-%{name} | |
174 | Summary: Ruby bindings for Qpid/C++ libraries | |
175 | Summary(pl.UTF-8): Wiązania języka Ruby do bibliotek Qpid/C++ | |
176 | Group: Development/Languages | |
177 | Requires: %{name}-libs = %{version}-%{release} | |
178 | Requires: python-modules | |
179 | ||
180 | %description -n ruby-%{name} | |
181 | Ruby bindings for Qpid/C++ libraries. | |
182 | ||
183 | %description -n ruby-%{name} -l pl.UTF-8 | |
184 | Wiązania języka Ruby do bibliotek Qpid/C++. | |
185 | ||
186 | %prep | |
187 | %setup -q -n qpidc-%{version} | |
188 | %patch0 -p1 | |
189 | %patch1 -p1 | |
190 | %patch2 -p1 | |
7dd8d47d | 191 | %patch3 -p2 |
1ea345ac JB |
192 | %patch4 -p1 |
193 | %patch5 -p1 | |
194 | %patch6 -p1 | |
195 | ||
196 | # deprecated std::auto_ptr | |
197 | # "invalid use of incomplete type qpid::framing::Handler<T>" | |
198 | %{__sed} -i -e 's/-Werror/-Wno-deprecated/' configure.ac | |
199 | ||
200 | %{__sed} -i -e '1s,/usr/bin/env python,%{__python},' managementgen/qmf-gen | |
201 | ||
202 | # force using newer version | |
203 | %{__rm} m4/python.m4 | |
591b0ad2 JB |
204 | |
205 | %build | |
206 | %{__libtoolize} | |
207 | %{__aclocal} -I m4 | |
208 | %{__autoconf} | |
209 | %{__autoheader} | |
210 | %{__automake} | |
211 | %configure \ | |
212 | %{?with_static_libs:--enable-static} \ | |
213 | --with-cpg%{!?with_corosync:=no} \ | |
214 | --with-cman%{!?with_cman:=no} \ | |
1befdc27 | 215 | --with-rdma%{!?with_rdma:=no} |
591b0ad2 JB |
216 | %{__make} |
217 | ||
218 | %install | |
219 | rm -rf $RPM_BUILD_ROOT | |
220 | ||
1ea345ac | 221 | %{__make} -j1 install \ |
591b0ad2 JB |
222 | DESTDIR=$RPM_BUILD_ROOT |
223 | ||
224 | %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la \ | |
1ea345ac | 225 | $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la \ |
591b0ad2 JB |
226 | $RPM_BUILD_ROOT%{_libdir}/qpid/{client,daemon}/*.la |
227 | %if %{with static_libs} | |
228 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/qpid/{client,daemon}/*.a | |
229 | %endif | |
230 | %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/qpid/tests | |
231 | ||
232 | install -d $RPM_BUILD_ROOT%{_examplesdir} | |
1ea345ac | 233 | %{__mv} $RPM_BUILD_ROOT%{_datadir}/qpidc/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} |
591b0ad2 JB |
234 | |
235 | %py_postclean | |
236 | ||
237 | %clean | |
238 | rm -rf $RPM_BUILD_ROOT | |
239 | ||
240 | %post libs -p /sbin/ldconfig | |
241 | %postun libs -p /sbin/ldconfig | |
242 | ||
243 | %files client | |
244 | %defattr(644,root,root,755) | |
245 | %dir %{_sysconfdir}/qpid | |
246 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qpid/qpidc.conf | |
247 | %dir %{_libdir}/qpid/client | |
248 | %attr(755,root,root) %{_libdir}/qpid/client/rdmaconnector.so | |
249 | %attr(755,root,root) %{_libdir}/qpid/client/sslconnector.so | |
250 | ||
251 | %files server | |
252 | %defattr(644,root,root,755) | |
253 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qpidd.conf | |
254 | %config(noreplace) %verify(not md5 mtime size) /etc/sasl2/qpidd.conf | |
255 | %attr(755,root,root) %{_sbindir}/qpidd | |
256 | %attr(755,root,root) %{_libdir}/qpid/qpidd_watchdog | |
257 | %dir %{_libdir}/qpid/daemon | |
258 | %attr(755,root,root) %{_libdir}/qpid/daemon/acl.so | |
259 | %attr(755,root,root) %{_libdir}/qpid/daemon/cluster.so | |
260 | %attr(755,root,root) %{_libdir}/qpid/daemon/ha.so | |
261 | %attr(755,root,root) %{_libdir}/qpid/daemon/rdma.so | |
262 | %attr(755,root,root) %{_libdir}/qpid/daemon/replicating_listener.so | |
263 | %attr(755,root,root) %{_libdir}/qpid/daemon/replication_exchange.so | |
264 | %attr(755,root,root) %{_libdir}/qpid/daemon/ssl.so | |
265 | %attr(755,root,root) %{_libdir}/qpid/daemon/watchdog.so | |
899c5b1e | 266 | %attr(755,root,root) %{_libdir}/qpid/daemon/xml.so |
591b0ad2 JB |
267 | %{_mandir}/man1/qpidd.1* |
268 | %attr(755,qpidd,qpidd) %dir /var/lib/qpidd | |
269 | ||
270 | %files libs | |
271 | %defattr(644,root,root,755) | |
272 | %doc NOTICE README.txt RELEASE_NOTES SSL | |
273 | %attr(755,root,root) %{_libdir}/libqmf.so.*.*.* | |
274 | %attr(755,root,root) %ghost %{_libdir}/libqmf.so.1 | |
275 | %attr(755,root,root) %{_libdir}/libqmf2.so.*.*.* | |
276 | %attr(755,root,root) %ghost %{_libdir}/libqmf2.so.1 | |
277 | %attr(755,root,root) %{_libdir}/libqmfconsole.so.*.*.* | |
278 | %attr(755,root,root) %ghost %{_libdir}/libqmfconsole.so.2 | |
279 | %attr(755,root,root) %{_libdir}/libqmfengine.so.*.*.* | |
280 | %attr(755,root,root) %ghost %{_libdir}/libqmfengine.so.1 | |
281 | %attr(755,root,root) %{_libdir}/libqpidbroker.so.*.*.* | |
282 | %attr(755,root,root) %ghost %{_libdir}/libqpidbroker.so.2 | |
283 | %attr(755,root,root) %{_libdir}/libqpidclient.so.*.*.* | |
284 | %attr(755,root,root) %ghost %{_libdir}/libqpidclient.so.2 | |
285 | %attr(755,root,root) %{_libdir}/libqpidcommon.so.*.*.* | |
286 | %attr(755,root,root) %ghost %{_libdir}/libqpidcommon.so.2 | |
287 | %attr(755,root,root) %{_libdir}/libqpidmessaging.so.*.*.* | |
288 | %attr(755,root,root) %ghost %{_libdir}/libqpidmessaging.so.2 | |
289 | %attr(755,root,root) %{_libdir}/libqpidtypes.so.*.*.* | |
290 | %attr(755,root,root) %ghost %{_libdir}/libqpidtypes.so.1 | |
291 | %attr(755,root,root) %{_libdir}/librdmawrap.so.*.*.* | |
292 | %attr(755,root,root) %ghost %{_libdir}/librdmawrap.so.2 | |
293 | %attr(755,root,root) %{_libdir}/libsslcommon.so.*.*.* | |
294 | %attr(755,root,root) %ghost %{_libdir}/libsslcommon.so.2 | |
295 | %dir %{_libdir}/qpid | |
296 | ||
297 | %files devel | |
298 | %defattr(644,root,root,755) | |
299 | %doc DESIGN | |
300 | %attr(755,root,root) %{_libdir}/libqmf.so | |
301 | %attr(755,root,root) %{_libdir}/libqmf2.so | |
302 | %attr(755,root,root) %{_libdir}/libqmfconsole.so | |
303 | %attr(755,root,root) %{_libdir}/libqmfengine.so | |
304 | %attr(755,root,root) %{_libdir}/libqpidbroker.so | |
305 | %attr(755,root,root) %{_libdir}/libqpidclient.so | |
306 | %attr(755,root,root) %{_libdir}/libqpidcommon.so | |
307 | %attr(755,root,root) %{_libdir}/libqpidmessaging.so | |
308 | %attr(755,root,root) %{_libdir}/libqpidtypes.so | |
309 | %attr(755,root,root) %{_libdir}/librdmawrap.so | |
310 | %attr(755,root,root) %{_libdir}/libsslcommon.so | |
311 | %{_libdir}/libqmf.la | |
312 | %{_libdir}/libqmf2.la | |
313 | %{_libdir}/libqmfconsole.la | |
314 | %{_libdir}/libqmfengine.la | |
315 | %{_libdir}/libqpidbroker.la | |
316 | %{_libdir}/libqpidclient.la | |
317 | %{_libdir}/libqpidcommon.la | |
318 | %{_libdir}/libqpidmessaging.la | |
319 | %{_libdir}/libqpidtypes.la | |
320 | %{_libdir}/librdmawrap.la | |
321 | %{_libdir}/libsslcommon.la | |
322 | %{_includedir}/qmf | |
323 | %{_includedir}/qpid | |
324 | %{_pkgconfigdir}/qmf2.pc | |
325 | %{_pkgconfigdir}/qpid.pc | |
326 | %{_examplesdir}/%{name}-%{version} | |
327 | ||
328 | %files static | |
329 | %defattr(644,root,root,755) | |
330 | %{_libdir}/libqmf.a | |
331 | %{_libdir}/libqmf2.a | |
332 | %{_libdir}/libqmfconsole.a | |
333 | %{_libdir}/libqmfengine.a | |
334 | %{_libdir}/libqpidbroker.a | |
335 | %{_libdir}/libqpidclient.a | |
336 | %{_libdir}/libqpidcommon.a | |
337 | %{_libdir}/libqpidmessaging.a | |
338 | %{_libdir}/libqpidtypes.a | |
339 | %{_libdir}/librdmawrap.a | |
340 | %{_libdir}/libsslcommon.a | |
341 | ||
342 | %files qmfgen | |
343 | %defattr(644,root,root,755) | |
344 | %attr(755,root,root) %{_bindir}/qmf-gen | |
345 | %dir %{py_sitescriptdir}/qmfgen | |
346 | %{py_sitescriptdir}/qmfgen/*.py[co] | |
347 | %{py_sitescriptdir}/qmfgen/management-types.xml | |
348 | %{py_sitescriptdir}/qmfgen/templates | |
349 | ||
350 | %files -n perl-%{name} | |
351 | %defattr(644,root,root,755) | |
352 | %{perl_vendorarch}/cqpid_perl.pm | |
353 | %dir %{perl_vendorarch}/auto/cqpid_perl | |
591b0ad2 JB |
354 | %attr(755,root,root) %{perl_vendorarch}/auto/cqpid_perl/cqpid_perl.so |
355 | ||
356 | %files -n python-%{name} | |
357 | %defattr(644,root,root,755) | |
358 | %attr(755,root,root) %{py_sitedir}/_cqmf2.so | |
359 | %attr(755,root,root) %{py_sitedir}/_cqpid.so | |
360 | %attr(755,root,root) %{py_sitedir}/_qmfengine.so | |
361 | %{py_sitescriptdir}/cqmf2.py[co] | |
362 | %{py_sitescriptdir}/cqpid.py[co] | |
363 | %{py_sitescriptdir}/qmf.py[co] | |
364 | %{py_sitescriptdir}/qmf2.py[co] | |
365 | %{py_sitescriptdir}/qmfengine.py[co] | |
366 | ||
367 | %files -n ruby-%{name} | |
368 | %defattr(644,root,root,755) | |
1ea345ac JB |
369 | %attr(755,root,root) %{ruby_vendorarchdir}/cqmf2.so |
370 | %attr(755,root,root) %{ruby_vendorarchdir}/cqpid.so | |
371 | %attr(755,root,root) %{ruby_vendorarchdir}/qmfengine.so | |
372 | %{ruby_vendorlibdir}/qmf.rb | |
373 | %{ruby_vendorlibdir}/qmf2.rb |