- release 7 (samba 4.2.12 rebuild)
[packages/openchange.git] / openchange.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # do not build and package API docs
4 #
5 Summary:        OpenChange - portable implementation of MS Exchange Server and Exchange protocols
6 Summary(pl.UTF-8):      OpenChange - przenośna implementacja serwera oraz protokołów MS Exchange
7 Name:           openchange
8 Version:        2.3
9 Release:        7
10 License:        GPL v3+
11 Group:          Libraries
12 %define cname   VULCAN
13 Source0:        https://github.com/openchange/openchange/archive/%{name}-%{version}-%{cname}.tar.gz
14 # Source0-md5:  96c13c78c2bcbd7040f7848746284b9f
15 Patch0:         %{name}-samba-private.patch
16 Patch1:         %{name}-link.patch
17 Patch2:         flex2.6.patch
18 URL:            http://www.openchange.org/
19 BuildRequires:  QtCore-devel >= 4.3.0
20 BuildRequires:  QtGui-devel >= 4.3.0
21 BuildRequires:  autoconf >= 2.57
22 BuildRequires:  automake
23 BuildRequires:  check-devel
24 BuildRequires:  doxygen
25 BuildRequires:  ldb-devel
26 BuildRequires:  libical-devel >= 0.46
27 BuildRequires:  libmagic-devel
28 BuildRequires:  libmemcached-devel >= 1.0.18
29 BuildRequires:  libpcap-devel
30 BuildRequires:  libstdc++-devel
31 BuildRequires:  mysql-devel
32 BuildRequires:  nanomsg-devel >= 0.5
33 BuildRequires:  perl-base
34 BuildRequires:  pkgconfig >= 1:0.20
35 BuildRequires:  popt-devel
36 BuildRequires:  python-devel >= 1:2.7
37 BuildRequires:  python-samba >= 4.2.2
38 BuildRequires:  rpmbuild(macros) >= 1.219
39 # with DCERCP multiplex and pending call support (upstream 4.1.18+ or 4.2.2+)
40 BuildRequires:  samba-devel >= 4.2.2
41 BuildRequires:  samba-pidl >= 4.2.2
42 BuildRequires:  sed >= 4.0
43 BuildRequires:  subunit-devel
44 BuildRequires:  talloc-devel
45 BuildRequires:  tdb-devel
46 BuildRequires:  zlib-devel
47 Requires:       %{name}-libs = %{version}-%{release}
48 Requires:       python-openchange = %{version}-%{release}
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %description
52 OpenChange is a portable Open Source implementation of Microsoft
53 Exchange server and Exchange protocols. It provides a complete
54 solution to interoperate with Microsoft Outlook clients or Microsoft
55 Exchange servers.
56
57 OpenChange client-side library is used in existing messaging clients
58 and is the solution in new projects to communicate natively with
59 Microsoft Exchange and Exchange-compatible servers. OpenChange server
60 is a transparent Microsoft Exchange server replacement using native
61 Exchange protocols and does not require any plugin installation in
62 Outlook.
63
64 %description -l pl.UTF-8
65 OpenChange to przenośna, mająca otwarte źródła implementacja serwera
66 oraz protokołów Microsoft Exchange. Dostarcza kompletne rozwiązanie
67 pozwalające współpracować z klientami Microsoft Outlook oraz serwerami
68 Microsoft Exchange.
69
70 Biblioteka kliencka OpenChange jest używana przez istniejących
71 klientów pocztowych i pozwalają na natywną komunikację z serwerami
72 Microsoft Exchange oraz zgodnymi. Serwer OpenChange to przezroczysty
73 zamiennik serwera Microsoft Exchange wykorzystujący natywne protokoły
74 Exchange, nie wymagający instalowania żadnych wtyczek w Outlooku.
75
76 %package libs
77 Summary:        OpenChange client libraries
78 Summary(pl.UTF-8):      Biblioteki klienckie OpenChange
79 Group:          Libraries
80
81 %description libs
82 OpenChange client libraries.
83
84 %description libs -l pl.UTF-8
85 Biblioteki klienckie OpenChange.
86
87 %package devel
88 Summary:        Header files for OpenChange libraries
89 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek OpenChange
90 Group:          Development/Libraries
91 Requires:       %{name}-libs = %{version}-%{release}
92 Requires:       ldb-devel
93 Requires:       samba-devel >= 4.2.2
94 Requires:       talloc-devel
95 Requires:       tevent-devel
96 Requires:       zlib-devel
97
98 %description devel
99 Header files for OpenChange libraries.
100
101 %description devel -l pl.UTF-8
102 Pliki nagłówkowe bibliotek OpenChange.
103
104 %package c++
105 Summary:        C++ interface to OpenChange MAPI library
106 Summary(pl.UTF-8):      Interfejs C++ do biblioteki OpenChange MAPI
107 Group:          Libraries
108 Requires:       %{name}-libs = %{version}-%{release}
109
110 %description c++
111 C++ interface to OpenChange MAPI library.
112
113 %description c++ -l pl.UTF-8
114 Interfejs C++ do biblioteki OpenChange MAPI.
115
116 %package c++-devel
117 Summary:        Header files of C++ interface to OpenChange MAPI library
118 Summary(pl.UTF-8):      Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI
119 Group:          Development/Libraries
120 Requires:       %{name}-c++ = %{version}-%{release}
121 Requires:       %{name}-devel = %{version}-%{release}
122 Requires:       libstdc++-devel
123
124 %description c++-devel
125 Header files of C++ interface to OpenChange MAPI library.
126
127 %description c++-devel -l pl.UTF-8
128 Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI.
129
130 %package qt
131 Summary:        Qt interface to OpenChange MAPI library
132 Summary(pl.UTF-8):      Interfejs Qt do biblioteki OpenChange MAPI
133 Group:          Libraries
134 Requires:       %{name}-c++ = %{version}-%{release}
135 Requires:       QtCore >= 4.3.0
136 Requires:       QtGui >= 4.3.0
137
138 %description qt
139 Qt interface to OpenChange MAPI library.
140
141 %description qt -l pl.UTF-8
142 Interfejs Qt do biblioteki OpenChange MAPI.
143
144 %package qt-devel
145 Summary:        Header files of Qt interface to OpenChange MAPI library
146 Summary(pl.UTF-8):      Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI
147 Group:          Development/Libraries
148 Requires:       %{name}-qt = %{version}-%{release}
149 Requires:       QtGui-devel >= 4.3.0
150
151 %description qt-devel
152 Header files of Qt interface to OpenChange MAPI library.
153
154 %description qt-devel -l pl.UTF-8
155 Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI.
156
157 %package apidocs
158 Summary:        API documentation for OpenChange libraries
159 Summary(pl.UTF-8):      Dokumentacja API bibliotek OpenChange
160 Group:          Documentation
161
162 %description apidocs
163 API documentation for OpenChange libraries.
164
165 %description apidocs -l pl.UTF-8
166 Dokumentacja API bibliotek OpenChange.
167
168 %package -n python-openchange
169 Summary:        Python interface to OpenChange libraries
170 Summary(pl.UTF-8):      Interfejs Pythona do bibliotek OpenChange
171 Group:          Libraries/Python
172 Requires:       %{name}-libs = %{version}-%{release}
173
174 %description -n python-openchange
175 Python interface to OpenChange libraries.
176
177 %description -n python-openchange -l pl.UTF-8
178 Interfejs Pythona do bibliotek OpenChange.
179
180 %package -n nagios-plugin-openchange
181 Summary:        Nagios plugin to check Exchange/OpenChange services
182 Summary(pl.UTF-8):      Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange
183 Group:          Networking
184 Requires:       %{name} = %{version}-%{release}
185 Requires:       nagios
186
187 %description -n nagios-plugin-openchange
188 Nagios plugin to check Exchange/OpenChange services.
189
190 %description -n nagios-plugin-openchange -l pl.UTF-8
191 Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange.
192
193 %prep
194 %setup -q -n %{name}-%{name}-%{version}-%{cname}
195 %patch0 -p1
196 %patch1 -p1
197 %patch2 -p1
198
199 # no switch for verbose mode, enable manually :/
200 %{__sed} -i -e 's/^     @\(\$(\(PIDL\|CC\|CXX\|MOC\)\)/ \1/' Makefile
201
202 %build
203 %{__aclocal}
204 %{__autoconf}
205 %{__autoheader}
206 %configure \
207         --datadir=%{_datadir}/openchange \
208         --enable-openchange-qt4 \
209         --enable-pyopenchange \
210         --with-modulesdir=%{_libdir}/openchange/modules
211 %{__make}
212
213 %if %{with apidocs}
214 %{__make} doxygen
215 %endif
216
217 %install
218 rm -rf $RPM_BUILD_ROOT
219
220 %{__make} install \
221         DESTDIR=$RPM_BUILD_ROOT
222
223 # doxygen generated man pages are messy; use HTML docs and install man1 pages manually
224 %if 0
225 %{__make} installman \
226         DESTDIR=$RPM_BUILD_ROOT
227 %else
228 install -d $RPM_BUILD_ROOT%{_mandir}/man1
229 cp doc/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
230 %endif
231
232 # missing from make install
233 install -d $RPM_BUILD_ROOT%{_includedir}/libqtmapi
234 cp -p qt/lib/*.h $RPM_BUILD_ROOT%{_includedir}/libqtmapi
235 cp -a libqtmapi.so.*.* libqtmapi.so $RPM_BUILD_ROOT%{_libdir}
236
237 # tests
238 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{check_fasttransfer,openchange-testsuite,test_asyncnotif}
239
240 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
241
242 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
243 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
244 %py_postclean
245
246 %clean
247 rm -rf $RPM_BUILD_ROOT
248
249 %post   libs -p /sbin/ldconfig
250 %postun libs -p /sbin/ldconfig
251
252 %post   c++ -p /sbin/ldconfig
253 %postun c++ -p /sbin/ldconfig
254
255 %post   qt -p /sbin/ldconfig
256 %postun qt -p /sbin/ldconfig
257
258 %files
259 %defattr(644,root,root,755)
260 %doc CHANGES.md IDL_LICENSE.txt README.md README.smbconf.md doc/howto.txt
261 %attr(755,root,root) %{_bindir}/exchange2ical
262 %attr(755,root,root) %{_bindir}/exchange2mbox
263 %attr(755,root,root) %{_bindir}/mapiprofile
264 %attr(755,root,root) %{_bindir}/mapipropsdump
265 %attr(755,root,root) %{_bindir}/mapitest
266 %attr(755,root,root) %{_bindir}/ocnotify
267 %attr(755,root,root) %{_bindir}/openchangeclient
268 %attr(755,root,root) %{_bindir}/openchangemapidump
269 %attr(755,root,root) %{_bindir}/openchangepfadmin
270 %attr(755,root,root) %{_bindir}/rpcextract
271 %attr(755,root,root) %{_bindir}/schemaIDGUID
272 %attr(755,root,root) %{_sbindir}/openchange_group
273 %attr(755,root,root) %{_sbindir}/openchange_migrate
274 %attr(755,root,root) %{_sbindir}/openchange_neworganization
275 %attr(755,root,root) %{_sbindir}/openchange_newuser
276 %attr(755,root,root) %{_sbindir}/openchange_provision
277 # XXX: dir specified by dcerpc_server.pc file, should belong to samba or samba-libs
278 %dir %{_libdir}/samba/dcerpc_server
279 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_asyncemsmdb.so
280 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_mapiproxy.so
281 %dir %{_libdir}/openchange
282 %dir %{_libdir}/openchange/modules
283 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy
284 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_cache.so
285 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_downgrade.so
286 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_dummy.so
287 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_pack.so
288 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy_server
289 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_ds_rfr.so
290 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_emsmdb.so
291 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_nsp.so
292 %dir %{_datadir}/openchange
293 %{_datadir}/openchange/mapitest
294 %dir %{_datadir}/openchange/setup
295 %{_datadir}/openchange/setup/mapistore
296 %{_datadir}/openchange/setup/openchangedb
297 %{_datadir}/openchange/setup/profiles
298 %dir %{_datadir}/samba/setup/AD
299 %{_datadir}/samba/setup/AD/oc_provision_*.ldif
300 %{_datadir}/samba/setup/AD/provision_schema_basedn_modify.ldif
301 %{_datadir}/samba/setup/AD/update_now.ldif
302 %{_datadir}/samba/setup/AD/prefixMap.txt
303 %{_mandir}/man1/exchange2ical.1*
304 %{_mandir}/man1/exchange2mbox.1*
305 %{_mandir}/man1/mapiprofile.1*
306 %{_mandir}/man1/mapitest.1*
307 %{_mandir}/man1/openchangeclient.1*
308 %{_mandir}/man1/openchangepfadmin.1*
309
310 %files libs
311 %defattr(644,root,root,755)
312 %attr(755,root,root) %{_libdir}/libmapi.so.*.*
313 %attr(755,root,root) %ghost %{_libdir}/libmapi.so.0
314 %attr(755,root,root) %{_libdir}/libmapiadmin.so.*.*
315 %attr(755,root,root) %ghost %{_libdir}/libmapiadmin.so.0
316 %attr(755,root,root) %{_libdir}/libmapiproxy.so.*.*
317 %attr(755,root,root) %ghost %{_libdir}/libmapiproxy.so.0
318 %attr(755,root,root) %{_libdir}/libmapiserver.so.*.*
319 %attr(755,root,root) %ghost %{_libdir}/libmapiserver.so.0
320 %attr(755,root,root) %{_libdir}/libmapistore.so.*.*
321 %attr(755,root,root) %ghost %{_libdir}/libmapistore.so.0
322 %attr(755,root,root) %{_libdir}/libocpf.so.*.*
323 %attr(755,root,root) %ghost %{_libdir}/libocpf.so.0
324
325 %files devel
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_libdir}/libmapi.so
328 %attr(755,root,root) %{_libdir}/libmapiadmin.so
329 %attr(755,root,root) %{_libdir}/libmapiproxy.so
330 %attr(755,root,root) %{_libdir}/libmapiserver.so
331 %attr(755,root,root) %{_libdir}/libmapistore.so
332 %attr(755,root,root) %{_libdir}/libocpf.so
333 %{_includedir}/gen_ndr
334 %{_includedir}/libmapi
335 %{_includedir}/libmapiadmin
336 %{_includedir}/libocpf
337 %{_includedir}/mapistore
338 %{_includedir}/libmapiproxy.h
339 %{_includedir}/libmapiserver.h
340 %{_pkgconfigdir}/libmapi.pc
341 %{_pkgconfigdir}/libmapiadmin.pc
342 %{_pkgconfigdir}/libmapiproxy.pc
343 %{_pkgconfigdir}/libmapiserver.pc
344 %{_pkgconfigdir}/libmapistore.pc
345 %{_pkgconfigdir}/libocpf.pc
346
347 %files c++
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_libdir}/libmapipp.so.*.*
350 %attr(755,root,root) %ghost %{_libdir}/libmapipp.so.0
351
352 %files c++-devel
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_libdir}/libmapipp.so
355 %{_includedir}/libmapi++
356 %{_pkgconfigdir}/libmapi++.pc
357
358 %files qt
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_libdir}/libqtmapi.so.*.*
361 %attr(755,root,root) %ghost %{_libdir}/libqtmapi.so.0
362
363 %files qt-devel
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_libdir}/libqtmapi.so
366 %{_includedir}/libqtmapi
367
368 %if %{with apidocs}
369 %files apidocs
370 %defattr(644,root,root,755)
371 %doc apidocs/html/*
372 %endif
373
374 %files -n python-openchange
375 %defattr(644,root,root,755)
376 %dir %{py_sitedir}/openchange
377 %attr(755,root,root) %{py_sitedir}/openchange/mapi.so
378 %attr(755,root,root) %{py_sitedir}/openchange/mapistore.so
379 %{py_sitedir}/openchange/*.py[co]
380 %{py_sitedir}/openchange/migration
381 %{py_sitedir}/openchange/tests
382 %{py_sitedir}/openchange/utils
383 %{py_sitedir}/openchange/web
384
385 %files -n nagios-plugin-openchange
386 %defattr(644,root,root,755)
387 # R: perl, openchangeclient
388 %attr(755,root,root) %{_libdir}/nagios/check_exchange
389 # default profile database - should be /etc/...
390 #%config(noreplace) %verify(not md5 mtime size) %{_libdir}/nagios/plugins/check_exchange.ldb
This page took 0.081439 seconds and 3 git commands to generate.