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