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: rpmbuild(macros) >= 1.219
37 # with DCERCP multiplex and pending call support (upstream 4.1.18+ or 4.2.>1)
38 BuildRequires: samba-devel >= 4.2.1
39 BuildRequires: samba-pidl >= 4.2.1
40 BuildRequires: sed >= 4.0
41 BuildRequires: subunit-devel
42 BuildRequires: talloc-devel
43 BuildRequires: tdb-devel
44 BuildRequires: zlib-devel
45 Requires: %{name}-libs = %{version}-%{release}
46 Requires: python-openchange = %{version}-%{release}
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 # libraries use symbols also from samba libs pulled indirectly, from outside %{_libdir}
50 #define filterout_ld -Wl,--no-copy-dt-needed-entries
53 OpenChange is a portable Open Source implementation of Microsoft
54 Exchange server and Exchange protocols. It provides a complete
55 solution to interoperate with Microsoft Outlook clients or Microsoft
58 OpenChange client-side library is used in existing messaging clients
59 and is the solution in new projects to communicate natively with
60 Microsoft Exchange and Exchange-compatible servers. OpenChange server
61 is a transparent Microsoft Exchange server replacement using native
62 Exchange protocols and does not require any plugin installation in
65 %description -l pl.UTF-8
66 OpenChange to przenośna, mająca otwarte źródła implementacja serwera
67 oraz protokołów Microsoft Exchange. Dostarcza kompletne rozwiązanie
68 pozwalające współpracować z klientami Microsoft Outlook oraz serwerami
71 Biblioteka kliencka OpenChange jest używana przez istniejących
72 klientów pocztowych i pozwalają na natywną komunikację z serwerami
73 Microsoft Exchange oraz zgodnymi. Serwer OpenChange to przezroczysty
74 zamiennik serwera Microsoft Exchange wykorzystujący natywne protokoły
75 Exchange, nie wymagający instalowania żadnych wtyczek w Outlooku.
78 Summary: OpenChange client libraries
79 Summary(pl.UTF-8): Biblioteki klienckie OpenChange
83 OpenChange client libraries.
85 %description libs -l pl.UTF-8
86 Biblioteki klienckie OpenChange.
89 Summary: Header files for OpenChange libraries
90 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek OpenChange
91 Group: Development/Libraries
92 Requires: %{name}-libs = %{version}-%{release}
95 Header files for OpenChange libraries.
97 %description devel -l pl.UTF-8
98 Pliki nagłówkowe bibliotek OpenChange.
101 Summary: C++ interface to OpenChange MAPI library
102 Summary(pl.UTF-8): Interfejs C++ do biblioteki OpenChange MAPI
106 C++ interface to OpenChange MAPI library.
108 %description c++ -l pl.UTF-8
109 Interfejs C++ do biblioteki OpenChange MAPI.
112 Summary: Header files of C++ interface to OpenChange MAPI library
113 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI
114 Group: Development/Libraries
115 Requires: %{name}-c++ = %{version}-%{release}
117 %description c++-devel
118 Header files of C++ interface to OpenChange MAPI library.
120 %description c++-devel -l pl.UTF-8
121 Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI.
124 Summary: Qt interface to OpenChange MAPI library
125 Summary(pl.UTF-8): Interfejs Qt do biblioteki OpenChange MAPI
129 Qt interface to OpenChange MAPI library.
131 %description qt -l pl.UTF-8
132 Interfejs Qt do biblioteki OpenChange MAPI.
135 Summary: Header files of Qt interface to OpenChange MAPI library
136 Summary(pl.UTF-8): Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI
137 Group: Development/Libraries
138 Requires: %{name}-qt = %{version}-%{release}
140 %description qt-devel
141 Header files of Qt interface to OpenChange MAPI library.
143 %description qt-devel -l pl.UTF-8
144 Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI.
147 Summary: API documentation for OpenChange libraries
148 Summary(pl.UTF-8): Dokumentacja API bibliotek OpenChange
152 API documentation for OpenChange libraries.
154 %description apidocs -l pl.UTF-8
155 Dokumentacja API bibliotek OpenChange.
157 %package -n python-openchange
158 Summary: Python interface to OpenChange libraries
159 Summary(pl.UTF-8): Interfejs Pythona do bibliotek OpenChange
160 Group: Libraries/Python
161 Requires: %{name}-libs = %{version}-%{release}
163 %description -n python-openchange
164 Python interface to OpenChange libraries.
166 %description -n python-openchange -l pl.UTF-8
167 Interfejs Pythona do bibliotek OpenChange.
169 %package -n nagios-plugin-openchange
170 Summary: Nagios plugin to check Exchange/OpenChange services
171 Summary(pl.UTF-8): Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange
173 Requires: %{name} = %{version}-%{release}
176 %description -n nagios-plugin-openchange
177 Nagios plugin to check Exchange/OpenChange services.
179 %description -n nagios-plugin-openchange -l pl.UTF-8
180 Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange.
183 %setup -q -n %{name}-%{name}-%{version}-%{cname}
187 # no switch for verbose mode, enable manually :/
188 %{__sed} -i -e 's/^ @\(\$(\(PIDL\|CC\|CXX\|MOC\)\)/ \1/' Makefile
195 --datadir=%{_datadir}/openchange \
196 --enable-openchange-qt4 \
197 --enable-pyopenchange \
198 --with-modulesdir=%{_libdir}/openchange/modules
206 rm -rf $RPM_BUILD_ROOT
209 DESTDIR=$RPM_BUILD_ROOT
211 # doxygen generated man pages are messy; use HTML docs and install man1 pages manually
213 %{__make} installman \
214 DESTDIR=$RPM_BUILD_ROOT
216 install -d $RPM_BUILD_ROOT%{_mandir}/man1
217 cp doc/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
220 # missing from make install
221 install -d $RPM_BUILD_ROOT%{_includedir}/libqtmapi
222 cp -p qt/lib/*.h $RPM_BUILD_ROOT%{_includedir}/libqtmapi
223 cp -a libqtmapi.so.*.* libqtmapi.so $RPM_BUILD_ROOT%{_libdir}
226 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{check_fasttransfer,openchange-testsuite,test_asyncnotif}
228 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
230 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
231 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
235 rm -rf $RPM_BUILD_ROOT
237 %post libs -p /sbin/ldconfig
238 %postun libs -p /sbin/ldconfig
240 %post c++ -p /sbin/ldconfig
241 %postun c++ -p /sbin/ldconfig
243 %post libs -p /sbin/ldconfig
244 %postun libs -p /sbin/ldconfig
247 %defattr(644,root,root,755)
248 %doc CHANGES.md IDL_LICENSE.txt README.md README.smbconf.md doc/howto.txt
249 %attr(755,root,root) %{_bindir}/exchange2ical
250 %attr(755,root,root) %{_bindir}/exchange2mbox
251 %attr(755,root,root) %{_bindir}/mapiprofile
252 %attr(755,root,root) %{_bindir}/mapipropsdump
253 %attr(755,root,root) %{_bindir}/mapitest
254 %attr(755,root,root) %{_bindir}/ocnotify
255 %attr(755,root,root) %{_bindir}/openchangeclient
256 %attr(755,root,root) %{_bindir}/openchangemapidump
257 %attr(755,root,root) %{_bindir}/openchangepfadmin
258 %attr(755,root,root) %{_bindir}/rpcextract
259 %attr(755,root,root) %{_bindir}/schemaIDGUID
260 %attr(755,root,root) %{_sbindir}/openchange_group
261 %attr(755,root,root) %{_sbindir}/openchange_migrate
262 %attr(755,root,root) %{_sbindir}/openchange_neworganization
263 %attr(755,root,root) %{_sbindir}/openchange_newuser
264 %attr(755,root,root) %{_sbindir}/openchange_provision
265 # XXX: dir specified by dcerpc_server.pc file, should belong to samba or samba-libs
266 %dir %{_libdir}/samba/dcerpc_server
267 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_asyncemsmdb.so
268 %attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_mapiproxy.so
269 %dir %{_libdir}/openchange
270 %dir %{_libdir}/openchange/modules
271 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy
272 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_cache.so
273 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_downgrade.so
274 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_dummy.so
275 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_pack.so
276 %dir %{_libdir}/openchange/modules/dcerpc_mapiproxy_server
277 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_ds_rfr.so
278 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_emsmdb.so
279 %attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_nsp.so
280 %dir %{_datadir}/openchange
281 %{_datadir}/openchange/mapitest
282 %dir %{_datadir}/openchange/setup
283 %{_datadir}/openchange/setup/mapistore
284 %{_datadir}/openchange/setup/openchangedb
285 %{_datadir}/openchange/setup/profiles
286 %dir %{_datadir}/samba/setup/AD
287 %{_datadir}/samba/setup/AD/oc_provision_*.ldif
288 %{_datadir}/samba/setup/AD/provision_schema_basedn_modify.ldif
289 %{_datadir}/samba/setup/AD/update_now.ldif
290 %{_datadir}/samba/setup/AD/prefixMap.txt
291 %{_mandir}/man1/exchange2ical.1*
292 %{_mandir}/man1/exchange2mbox.1*
293 %{_mandir}/man1/mapiprofile.1*
294 %{_mandir}/man1/mapitest.1*
295 %{_mandir}/man1/openchangeclient.1*
296 %{_mandir}/man1/openchangepfadmin.1*
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{_libdir}/libmapi.so.*.*
301 %attr(755,root,root) %ghost %{_libdir}/libmapi.so.0
302 %attr(755,root,root) %{_libdir}/libmapiadmin.so.*.*
303 %attr(755,root,root) %ghost %{_libdir}/libmapiadmin.so.0
304 %attr(755,root,root) %{_libdir}/libmapiproxy.so.*.*
305 %attr(755,root,root) %ghost %{_libdir}/libmapiproxy.so.0
306 %attr(755,root,root) %{_libdir}/libmapiserver.so.*.*
307 %attr(755,root,root) %ghost %{_libdir}/libmapiserver.so.0
308 %attr(755,root,root) %{_libdir}/libmapistore.so.*.*
309 %attr(755,root,root) %ghost %{_libdir}/libmapistore.so.0
310 %attr(755,root,root) %{_libdir}/libocpf.so.*.*
311 %attr(755,root,root) %ghost %{_libdir}/libocpf.so.0
314 %defattr(644,root,root,755)
315 %attr(755,root,root) %{_libdir}/libmapi.so
316 %attr(755,root,root) %{_libdir}/libmapiadmin.so
317 %attr(755,root,root) %{_libdir}/libmapiproxy.so
318 %attr(755,root,root) %{_libdir}/libmapiserver.so
319 %attr(755,root,root) %{_libdir}/libmapistore.so
320 %attr(755,root,root) %{_libdir}/libocpf.so
321 %{_includedir}/gen_ndr
322 %{_includedir}/libmapi
323 %{_includedir}/libmapiadmin
324 %{_includedir}/libocpf
325 %{_includedir}/mapistore
326 %{_includedir}/libmapiproxy.h
327 %{_includedir}/libmapiserver.h
328 %{_pkgconfigdir}/libmapi.pc
329 %{_pkgconfigdir}/libmapiadmin.pc
330 %{_pkgconfigdir}/libmapiproxy.pc
331 %{_pkgconfigdir}/libmapiserver.pc
332 %{_pkgconfigdir}/libmapistore.pc
333 %{_pkgconfigdir}/libocpf.pc
336 %defattr(644,root,root,755)
337 %attr(755,root,root) %{_libdir}/libmapipp.so.*.*
338 %attr(755,root,root) %ghost %{_libdir}/libmapipp.so.0
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_libdir}/libmapipp.so
343 %{_includedir}/libmapi++
344 %{_pkgconfigdir}/libmapi++.pc
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libqtmapi.so.*.*
349 %attr(755,root,root) %ghost %{_libdir}/libqtmapi.so.0
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libqtmapi.so
354 %{_includedir}/libqtmapi
358 %defattr(644,root,root,755)
362 %files -n python-openchange
363 %defattr(644,root,root,755)
364 %dir %{py_sitedir}/openchange
365 %attr(755,root,root) %{py_sitedir}/openchange/mapi.so
366 %attr(755,root,root) %{py_sitedir}/openchange/mapistore.so
367 %{py_sitedir}/openchange/*.py[co]
368 %{py_sitedir}/openchange/migration
369 %{py_sitedir}/openchange/tests
370 %{py_sitedir}/openchange/utils
371 %{py_sitedir}/openchange/web
373 %files -n nagios-plugin-openchange
374 %defattr(644,root,root,755)
375 # R: perl, openchangeclient
376 %attr(755,root,root) %{_libdir}/nagios/check_exchange
377 # default profile database - should be /etc/...
378 #%config(noreplace) %verify(not md5 mtime size) %{_libdir}/nagios/plugins/check_exchange.ldb