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