3 %bcond_without apidocs # do not build and package API docs
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
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 URL: http://www.openchange.org/
18 BuildRequires: QtCore-devel >= 4.3.0
19 BuildRequires: QtGui-devel >= 4.3.0
20 BuildRequires: autoconf >= 2.57
21 BuildRequires: automake
22 BuildRequires: check-devel
23 BuildRequires: doxygen
24 BuildRequires: ldb-devel
25 BuildRequires: libical-devel >= 0.46
26 BuildRequires: libmagic-devel
27 BuildRequires: libmemcached-devel >= 1.0.18
28 BuildRequires: libpcap-devel
29 BuildRequires: libstdc++-devel
30 BuildRequires: mysql-devel
31 BuildRequires: nanomsg-devel >= 0.5
32 BuildRequires: perl-base
33 BuildRequires: pkgconfig >= 1:0.20
34 BuildRequires: popt-devel
35 BuildRequires: python-devel >= 1:2.7
36 BuildRequires: python-samba >= 4.2.2
37 BuildRequires: rpmbuild(macros) >= 1.219
38 # with DCERCP multiplex and pending call support (upstream 4.1.18+ or 4.2.2+)
39 BuildRequires: samba-devel >= 4.2.2
40 BuildRequires: samba-pidl >= 4.2.2
41 BuildRequires: sed >= 4.0
42 BuildRequires: subunit-devel
43 BuildRequires: talloc-devel
44 BuildRequires: tdb-devel
45 BuildRequires: zlib-devel
46 Requires: %{name}-libs = %{version}-%{release}
47 Requires: python-openchange = %{version}-%{release}
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 OpenChange is a portable Open Source implementation of Microsoft
52 Exchange server and Exchange protocols. It provides a complete
53 solution to interoperate with Microsoft Outlook clients or Microsoft
56 OpenChange client-side library is used in existing messaging clients
57 and is the solution in new projects to communicate natively with
58 Microsoft Exchange and Exchange-compatible servers. OpenChange server
59 is a transparent Microsoft Exchange server replacement using native
60 Exchange protocols and does not require any plugin installation in
63 %description -l pl.UTF-8
64 OpenChange to przenośna, mająca otwarte źródła implementacja serwera
65 oraz protokołów Microsoft Exchange. Dostarcza kompletne rozwiązanie
66 pozwalające współpracować z klientami Microsoft Outlook oraz serwerami
69 Biblioteka kliencka OpenChange jest używana przez istniejących
70 klientów pocztowych i pozwalają na natywną komunikację z serwerami
71 Microsoft Exchange oraz zgodnymi. Serwer OpenChange to przezroczysty
72 zamiennik serwera Microsoft Exchange wykorzystujący natywne protokoły
73 Exchange, nie wymagający instalowania żadnych wtyczek w Outlooku.
76 Summary: OpenChange client libraries
77 Summary(pl.UTF-8): Biblioteki klienckie OpenChange
81 OpenChange client libraries.
83 %description libs -l pl.UTF-8
84 Biblioteki klienckie OpenChange.
87 Summary: Header files for OpenChange libraries
88 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek OpenChange
89 Group: Development/Libraries
90 Requires: %{name}-libs = %{version}-%{release}
92 Requires: samba-devel >= 4.2.2
93 Requires: talloc-devel
94 Requires: tevent-devel
98 Header files for OpenChange libraries.
100 %description devel -l pl.UTF-8
101 Pliki nagłówkowe bibliotek OpenChange.
104 Summary: C++ interface to OpenChange MAPI library
105 Summary(pl.UTF-8): Interfejs C++ do biblioteki OpenChange MAPI
107 Requires: %{name}-libs = %{version}-%{release}
110 C++ interface to OpenChange MAPI library.
112 %description c++ -l pl.UTF-8
113 Interfejs C++ do biblioteki OpenChange MAPI.
116 Summary: Header files of C++ interface to OpenChange MAPI library
117 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI
118 Group: Development/Libraries
119 Requires: %{name}-c++ = %{version}-%{release}
120 Requires: %{name}-devel = %{version}-%{release}
121 Requires: libstdc++-devel
123 %description c++-devel
124 Header files of C++ interface to OpenChange MAPI library.
126 %description c++-devel -l pl.UTF-8
127 Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI.
130 Summary: Qt interface to OpenChange MAPI library
131 Summary(pl.UTF-8): Interfejs Qt do biblioteki OpenChange MAPI
133 Requires: %{name}-c++ = %{version}-%{release}
134 Requires: QtCore >= 4.3.0
135 Requires: QtGui >= 4.3.0
138 Qt interface to OpenChange MAPI library.
140 %description qt -l pl.UTF-8
141 Interfejs Qt do biblioteki OpenChange MAPI.
144 Summary: Header files of Qt interface to OpenChange MAPI library
145 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI
146 Group: Development/Libraries
147 Requires: %{name}-qt = %{version}-%{release}
148 Requires: QtGui-devel >= 4.3.0
150 %description qt-devel
151 Header files of Qt interface to OpenChange MAPI library.
153 %description qt-devel -l pl.UTF-8
154 Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI.
157 Summary: API documentation for OpenChange libraries
158 Summary(pl.UTF-8): Dokumentacja API bibliotek OpenChange
162 API documentation for OpenChange libraries.
164 %description apidocs -l pl.UTF-8
165 Dokumentacja API bibliotek OpenChange.
167 %package -n python-openchange
168 Summary: Python interface to OpenChange libraries
169 Summary(pl.UTF-8): Interfejs Pythona do bibliotek OpenChange
170 Group: Libraries/Python
171 Requires: %{name}-libs = %{version}-%{release}
173 %description -n python-openchange
174 Python interface to OpenChange libraries.
176 %description -n python-openchange -l pl.UTF-8
177 Interfejs Pythona do bibliotek OpenChange.
179 %package -n nagios-plugin-openchange
180 Summary: Nagios plugin to check Exchange/OpenChange services
181 Summary(pl.UTF-8): Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange
183 Requires: %{name} = %{version}-%{release}
186 %description -n nagios-plugin-openchange
187 Nagios plugin to check Exchange/OpenChange services.
189 %description -n nagios-plugin-openchange -l pl.UTF-8
190 Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange.
193 %setup -q -n %{name}-%{name}-%{version}-%{cname}
197 # no switch for verbose mode, enable manually :/
198 %{__sed} -i -e 's/^ @\(\$(\(PIDL\|CC\|CXX\|MOC\)\)/ \1/' Makefile
205 --datadir=%{_datadir}/openchange \
206 --enable-openchange-qt4 \
207 --enable-pyopenchange \
208 --with-modulesdir=%{_libdir}/openchange/modules
216 rm -rf $RPM_BUILD_ROOT
219 DESTDIR=$RPM_BUILD_ROOT
221 # doxygen generated man pages are messy; use HTML docs and install man1 pages manually
223 %{__make} installman \
224 DESTDIR=$RPM_BUILD_ROOT
226 install -d $RPM_BUILD_ROOT%{_mandir}/man1
227 cp doc/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
230 # missing from make install
231 install -d $RPM_BUILD_ROOT%{_includedir}/libqtmapi
232 cp -p qt/lib/*.h $RPM_BUILD_ROOT%{_includedir}/libqtmapi
233 cp -a libqtmapi.so.*.* libqtmapi.so $RPM_BUILD_ROOT%{_libdir}
236 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{check_fasttransfer,openchange-testsuite,test_asyncnotif}
238 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
240 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
241 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
245 rm -rf $RPM_BUILD_ROOT
247 %post libs -p /sbin/ldconfig
248 %postun libs -p /sbin/ldconfig
250 %post c++ -p /sbin/ldconfig
251 %postun c++ -p /sbin/ldconfig
253 %post qt -p /sbin/ldconfig
254 %postun qt -p /sbin/ldconfig
257 %defattr(644,root,root,755)
258 %doc CHANGES.md IDL_LICENSE.txt README.md README.smbconf.md doc/howto.txt
259 %attr(755,root,root) %{_bindir}/exchange2ical
260 %attr(755,root,root) %{_bindir}/exchange2mbox
261 %attr(755,root,root) %{_bindir}/mapiprofile
262 %attr(755,root,root) %{_bindir}/mapipropsdump
263 %attr(755,root,root) %{_bindir}/mapitest
264 %attr(755,root,root) %{_bindir}/ocnotify
265 %attr(755,root,root) %{_bindir}/openchangeclient
266 %attr(755,root,root) %{_bindir}/openchangemapidump
267 %attr(755,root,root) %{_bindir}/openchangepfadmin
268 %attr(755,root,root) %{_bindir}/rpcextract
269 %attr(755,root,root) %{_bindir}/schemaIDGUID
270 %attr(755,root,root) %{_sbindir}/openchange_group
271 %attr(755,root,root) %{_sbindir}/openchange_migrate
272 %attr(755,root,root) %{_sbindir}/openchange_neworganization
273 %attr(755,root,root) %{_sbindir}/openchange_newuser
274 %attr(755,root,root) %{_sbindir}/openchange_provision
275 # XXX: dir specified by dcerpc_server.pc file, should belong to samba or samba-libs
276 %dir %{_libdir}/samba/dcerpc_server
277 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_asyncemsmdb.so
278 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_mapiproxy.so
279 %dir %{_libdir}/openchange
280 %dir %{_libdir}/openchange/modules
281 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy
282 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_cache.so
283 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_downgrade.so
284 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_dummy.so
285 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_pack.so
286 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy_server
287 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_ds_rfr.so
288 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_emsmdb.so
289 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_nsp.so
290 %dir %{_datadir}/openchange
291 %{_datadir}/openchange/mapitest
292 %dir %{_datadir}/openchange/setup
293 %{_datadir}/openchange/setup/mapistore
294 %{_datadir}/openchange/setup/openchangedb
295 %{_datadir}/openchange/setup/profiles
296 %dir %{_datadir}/samba/setup/AD
297 %{_datadir}/samba/setup/AD/oc_provision_*.ldif
298 %{_datadir}/samba/setup/AD/provision_schema_basedn_modify.ldif
299 %{_datadir}/samba/setup/AD/update_now.ldif
300 %{_datadir}/samba/setup/AD/prefixMap.txt
301 %{_mandir}/man1/exchange2ical.1*
302 %{_mandir}/man1/exchange2mbox.1*
303 %{_mandir}/man1/mapiprofile.1*
304 %{_mandir}/man1/mapitest.1*
305 %{_mandir}/man1/openchangeclient.1*
306 %{_mandir}/man1/openchangepfadmin.1*
309 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_libdir}/libmapi.so.*.*
311 %attr(755,root,root) %ghost %{_libdir}/libmapi.so.0
312 %attr(755,root,root) %{_libdir}/libmapiadmin.so.*.*
313 %attr(755,root,root) %ghost %{_libdir}/libmapiadmin.so.0
314 %attr(755,root,root) %{_libdir}/libmapiproxy.so.*.*
315 %attr(755,root,root) %ghost %{_libdir}/libmapiproxy.so.0
316 %attr(755,root,root) %{_libdir}/libmapiserver.so.*.*
317 %attr(755,root,root) %ghost %{_libdir}/libmapiserver.so.0
318 %attr(755,root,root) %{_libdir}/libmapistore.so.*.*
319 %attr(755,root,root) %ghost %{_libdir}/libmapistore.so.0
320 %attr(755,root,root) %{_libdir}/libocpf.so.*.*
321 %attr(755,root,root) %ghost %{_libdir}/libocpf.so.0
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_libdir}/libmapi.so
326 %attr(755,root,root) %{_libdir}/libmapiadmin.so
327 %attr(755,root,root) %{_libdir}/libmapiproxy.so
328 %attr(755,root,root) %{_libdir}/libmapiserver.so
329 %attr(755,root,root) %{_libdir}/libmapistore.so
330 %attr(755,root,root) %{_libdir}/libocpf.so
331 %{_includedir}/gen_ndr
332 %{_includedir}/libmapi
333 %{_includedir}/libmapiadmin
334 %{_includedir}/libocpf
335 %{_includedir}/mapistore
336 %{_includedir}/libmapiproxy.h
337 %{_includedir}/libmapiserver.h
338 %{_pkgconfigdir}/libmapi.pc
339 %{_pkgconfigdir}/libmapiadmin.pc
340 %{_pkgconfigdir}/libmapiproxy.pc
341 %{_pkgconfigdir}/libmapiserver.pc
342 %{_pkgconfigdir}/libmapistore.pc
343 %{_pkgconfigdir}/libocpf.pc
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_libdir}/libmapipp.so.*.*
348 %attr(755,root,root) %ghost %{_libdir}/libmapipp.so.0
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_libdir}/libmapipp.so
353 %{_includedir}/libmapi++
354 %{_pkgconfigdir}/libmapi++.pc
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/libqtmapi.so.*.*
359 %attr(755,root,root) %ghost %{_libdir}/libqtmapi.so.0
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/libqtmapi.so
364 %{_includedir}/libqtmapi
368 %defattr(644,root,root,755)
372 %files -n python-openchange
373 %defattr(644,root,root,755)
374 %dir %{py_sitedir}/openchange
375 %attr(755,root,root) %{py_sitedir}/openchange/mapi.so
376 %attr(755,root,root) %{py_sitedir}/openchange/mapistore.so
377 %{py_sitedir}/openchange/*.py[co]
378 %{py_sitedir}/openchange/migration
379 %{py_sitedir}/openchange/tests
380 %{py_sitedir}/openchange/utils
381 %{py_sitedir}/openchange/web
383 %files -n nagios-plugin-openchange
384 %defattr(644,root,root,755)
385 # R: perl, openchangeclient
386 %attr(755,root,root) %{_libdir}/nagios/check_exchange
387 # default profile database - should be /etc/...
388 #%config(noreplace) %verify(not md5 mtime size) %{_libdir}/nagios/plugins/check_exchange.ldb