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