- -c++* split, ldconfig for proper packages
[packages/openchange.git] / openchange.spec
CommitLineData
cc90af90
JB
1#
2# Conditional build:
3%bcond_without apidocs # do not build and package API docs
4#
5Summary: OpenChange - portable implementation of MS Exchange Server and Exchange protocols
6Summary(pl.UTF-8): OpenChange - przenośna implementacja serwera oraz protokołów MS Exchange
7Name: openchange
8Version: 2.3
9Release: 1
10License: GPL v3+
11Group: Libraries
12%define cname VULCAN
13Source0: https://github.com/openchange/openchange/archive/%{name}-%{version}-%{cname}.tar.gz
14# Source0-md5: 96c13c78c2bcbd7040f7848746284b9f
15Patch0: %{name}-samba-private.patch
16Patch1: %{name}-link.patch
17URL: http://www.openchange.org/
18BuildRequires: QtCore-devel >= 4.3.0
19BuildRequires: QtGui-devel >= 4.3.0
20BuildRequires: autoconf >= 2.57
21BuildRequires: automake
22BuildRequires: check-devel
23BuildRequires: doxygen
24BuildRequires: ldb-devel
25BuildRequires: libical-devel >= 0.46
26BuildRequires: libmagic-devel
27BuildRequires: libmemcached-devel >= 1.0.18
28BuildRequires: libpcap-devel
29BuildRequires: libstdc++-devel
30BuildRequires: mysql-devel
31BuildRequires: nanomsg-devel >= 0.5
32BuildRequires: perl-base
33BuildRequires: pkgconfig >= 1:0.20
34BuildRequires: popt-devel
35BuildRequires: python-devel >= 1:2.7
36BuildRequires: rpmbuild(macros) >= 1.219
37# with DCERCP multiplex and pending call support (upstream 4.1.18+ or 4.2.>1)
38BuildRequires: samba-devel >= 4.2.1
39BuildRequires: samba-pidl >= 4.2.1
40BuildRequires: sed >= 4.0
41BuildRequires: subunit-devel
42BuildRequires: talloc-devel
43BuildRequires: tdb-devel
44BuildRequires: zlib-devel
45Requires: %{name}-libs = %{version}-%{release}
46Requires: python-openchange = %{version}-%{release}
47BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49# libraries use symbols also from samba libs pulled indirectly, from outside %{_libdir}
50#define filterout_ld -Wl,--no-copy-dt-needed-entries
51
52%description
53OpenChange is a portable Open Source implementation of Microsoft
54Exchange server and Exchange protocols. It provides a complete
55solution to interoperate with Microsoft Outlook clients or Microsoft
56Exchange servers.
57
58OpenChange client-side library is used in existing messaging clients
59and is the solution in new projects to communicate natively with
60Microsoft Exchange and Exchange-compatible servers. OpenChange server
61is a transparent Microsoft Exchange server replacement using native
62Exchange protocols and does not require any plugin installation in
63Outlook.
64
65%description -l pl.UTF-8
66OpenChange to przenośna, mająca otwarte źródła implementacja serwera
67oraz protokołów Microsoft Exchange. Dostarcza kompletne rozwiązanie
68pozwalające współpracować z klientami Microsoft Outlook oraz serwerami
69Microsoft Exchange.
70
71Biblioteka kliencka OpenChange jest używana przez istniejących
72klientów pocztowych i pozwalają na natywną komunikację z serwerami
73Microsoft Exchange oraz zgodnymi. Serwer OpenChange to przezroczysty
74zamiennik serwera Microsoft Exchange wykorzystujący natywne protokoły
75Exchange, nie wymagający instalowania żadnych wtyczek w Outlooku.
76
77%package libs
78Summary: OpenChange client libraries
79Summary(pl.UTF-8): Biblioteki klienckie OpenChange
80Group: Libraries
81
82%description libs
83OpenChange client libraries.
84
85%description libs -l pl.UTF-8
86Biblioteki klienckie OpenChange.
87
88%package devel
89Summary: Header files for OpenChange libraries
90Summary(pl.UTF-8): Pliki nagłówkowe bibliotek OpenChange
91Group: Development/Libraries
92Requires: %{name}-libs = %{version}-%{release}
93
94%description devel
95Header files for OpenChange libraries.
96
97%description devel -l pl.UTF-8
98Pliki nagłówkowe bibliotek OpenChange.
99
100%package c++
101Summary: C++ interface to OpenChange MAPI library
102Summary(pl.UTF-8): Interfejs C++ do biblioteki OpenChange MAPI
103Group: Libraries
104
105%description c++
106C++ interface to OpenChange MAPI library.
107
108%description c++ -l pl.UTF-8
109Interfejs C++ do biblioteki OpenChange MAPI.
110
111%package c++-devel
112Summary: Header files of C++ interface to OpenChange MAPI library
113Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI
114Group: Development/Libraries
115Requires: %{name}-c++ = %{version}-%{release}
116
117%description c++-devel
118Header files of C++ interface to OpenChange MAPI library.
119
120%description c++-devel -l pl.UTF-8
121Pliki nagłówkowe interfejsu C++ do biblioteki OpenChange MAPI.
122
123%package qt
124Summary: Qt interface to OpenChange MAPI library
125Summary(pl.UTF-8): Interfejs Qt do biblioteki OpenChange MAPI
126Group: Libraries
127
128%description qt
129Qt interface to OpenChange MAPI library.
130
131%description qt -l pl.UTF-8
132Interfejs Qt do biblioteki OpenChange MAPI.
133
134%package qt-devel
135Summary: Header files of Qt interface to OpenChange MAPI library
136Summary(pl.UTF-8): Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI
137Group: Development/Libraries
138Requires: %{name}-qt = %{version}-%{release}
139
140%description qt-devel
141Header files of Qt interface to OpenChange MAPI library.
142
143%description qt-devel -l pl.UTF-8
144Pliki nagłówkowe interfejsu Qt do biblioteki OpenChange MAPI.
145
146%package apidocs
147Summary: API documentation for OpenChange libraries
148Summary(pl.UTF-8): Dokumentacja API bibliotek OpenChange
149Group: Documentation
150
151%description apidocs
152API documentation for OpenChange libraries.
153
154%description apidocs -l pl.UTF-8
155Dokumentacja API bibliotek OpenChange.
156
157%package -n python-openchange
158Summary: Python interface to OpenChange libraries
159Summary(pl.UTF-8): Interfejs Pythona do bibliotek OpenChange
160Group: Libraries/Python
161Requires: %{name}-libs = %{version}-%{release}
162
163%description -n python-openchange
164Python interface to OpenChange libraries.
165
166%description -n python-openchange -l pl.UTF-8
167Interfejs Pythona do bibliotek OpenChange.
168
169%package -n nagios-plugin-openchange
170Summary: Nagios plugin to check Exchange/OpenChange services
171Summary(pl.UTF-8): Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange
172Group: Networking
173Requires: %{name} = %{version}-%{release}
174Requires: nagios
175
176%description -n nagios-plugin-openchange
177Nagios plugin to check Exchange/OpenChange services.
178
179%description -n nagios-plugin-openchange -l pl.UTF-8
180Wtyczka Nagiosa do sprawdzania usług Exchange/OpenChange.
181
182%prep
183%setup -q -n %{name}-%{name}-%{version}-%{cname}
184%patch0 -p1
185%patch1 -p1
186
187# no switch for verbose mode, enable manually :/
188%{__sed} -i -e 's/^ @\(\$(\(PIDL\|CC\|CXX\|MOC\)\)/ \1/' Makefile
189
190%build
191%{__aclocal}
192%{__autoconf}
193%{__autoheader}
194%configure \
195 --datadir=%{_datadir}/openchange \
196 --enable-openchange-qt4 \
197 --enable-pyopenchange \
198 --with-modulesdir=%{_libdir}/openchange/modules
199%{__make}
200
201%if %{with apidocs}
202%{__make} doxygen
203%endif
204
205%install
206rm -rf $RPM_BUILD_ROOT
207
208%{__make} install \
209 DESTDIR=$RPM_BUILD_ROOT
210
211# doxygen generated man pages are messy; use HTML docs and install man1 pages manually
212%if 0
213%{__make} installman \
214 DESTDIR=$RPM_BUILD_ROOT
215%else
216install -d $RPM_BUILD_ROOT%{_mandir}/man1
217cp doc/man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
218%endif
219
220# missing from make install
221install -d $RPM_BUILD_ROOT%{_includedir}/libqtmapi
222cp -p qt/lib/*.h $RPM_BUILD_ROOT%{_includedir}/libqtmapi
223cp -a libqtmapi.so.*.* libqtmapi.so $RPM_BUILD_ROOT%{_libdir}
224
225# tests
226%{__rm} $RPM_BUILD_ROOT%{_bindir}/{check_fasttransfer,openchange-testsuite,test_asyncnotif}
227
228/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
229
230%py_comp $RPM_BUILD_ROOT%{py_sitedir}
231%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
232%py_postclean
233
234%clean
235rm -rf $RPM_BUILD_ROOT
236
c949a72b
JB
237%post libs -p /sbin/ldconfig
238%postun libs -p /sbin/ldconfig
239
240%post c++ -p /sbin/ldconfig
241%postun c++ -p /sbin/ldconfig
242
243%post libs -p /sbin/ldconfig
244%postun libs -p /sbin/ldconfig
cc90af90
JB
245
246%files
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*
297
298%files libs
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
cc90af90
JB
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
312
313%files devel
314%defattr(644,root,root,755)
315%attr(755,root,root) %{_libdir}/libmapi.so
316%attr(755,root,root) %{_libdir}/libmapiadmin.so
cc90af90
JB
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
cc90af90
JB
323%{_includedir}/libmapiadmin
324%{_includedir}/libocpf
325%{_includedir}/mapistore
326%{_includedir}/libmapiproxy.h
327%{_includedir}/libmapiserver.h
328%{_pkgconfigdir}/libmapi.pc
cc90af90
JB
329%{_pkgconfigdir}/libmapiadmin.pc
330%{_pkgconfigdir}/libmapiproxy.pc
331%{_pkgconfigdir}/libmapiserver.pc
332%{_pkgconfigdir}/libmapistore.pc
333%{_pkgconfigdir}/libocpf.pc
334
c949a72b
JB
335%files c++
336%defattr(644,root,root,755)
337%attr(755,root,root) %{_libdir}/libmapipp.so.*.*
338%attr(755,root,root) %ghost %{_libdir}/libmapipp.so.0
339
340%files c++-devel
341%defattr(644,root,root,755)
342%attr(755,root,root) %{_libdir}/libmapipp.so
343%{_includedir}/libmapi++
344%{_pkgconfigdir}/libmapi++.pc
345
cc90af90
JB
346%files qt
347%defattr(644,root,root,755)
348%attr(755,root,root) %{_libdir}/libqtmapi.so.*.*
349%attr(755,root,root) %ghost %{_libdir}/libqtmapi.so.0
350
351%files qt-devel
352%defattr(644,root,root,755)
353%attr(755,root,root) %{_libdir}/libqtmapi.so
354%{_includedir}/libqtmapi
355
356%if %{with apidocs}
357%files apidocs
358%defattr(644,root,root,755)
359%doc apidocs/html/*
360%endif
361
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
372
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
This page took 0.114519 seconds and 4 git commands to generate.