#
# Conditional build:
%bcond_without apidocs # do not build and package API docs
+%bcond_with mapiproxy # mapiproxy suite (disabled with Samba 4.4+)
+%bcond_with mapitest # mapitest utility (disabled with Samba 4.4+)
%bcond_with python # build python package (requires disabled mapiproxy)
%define cname VULCAN
Summary(pl.UTF-8): OpenChange - przenośna implementacja serwera oraz protokołów MS Exchange
Name: openchange
Version: 2.3
-Release: 13
+Release: 42
License: GPL v3+
Group: Libraries
Source0: https://github.com/openchange/openchange/archive/%{name}-%{version}-%{cname}.tar.gz
Patch3: samba-4.2.patch
Patch4: fix-connection-args.patch
Patch5: samba-4.4.patch
-URL: http://www.openchange.org/
+Patch6: %{name}-covscan.patch
+Patch7: %{name}-samba-4.10-macros.patch
+Patch8: %{name}-libical.patch
+URL: https://github.com/openchange
BuildRequires: QtCore-devel >= 4.3.0
BuildRequires: QtGui-devel >= 4.3.0
BuildRequires: autoconf >= 2.57
%endif
BuildRequires: rpmbuild(macros) >= 1.219
# with DCERCP multiplex and pending call support (upstream 4.1.18+ or 4.2.2+)
-BuildRequires: samba-devel >= 4.2.2
-BuildRequires: samba-pidl >= 4.2.2
+# samba-4.10-macros patch requires samba-pidl 4.10+
+BuildRequires: samba-devel >= 4.10
+BuildRequires: samba-pidl >= 4.10
BuildRequires: sed >= 4.0
BuildRequires: subunit-devel
BuildRequires: talloc-devel
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
# no switch for verbose mode, enable manually :/
%{__sed} -i -e 's/^ @\(\$(\(PIDL\|CC\|CXX\|MOC\)\)/ \1/' Makefile
cp -a libqtmapi.so.*.* libqtmapi.so $RPM_BUILD_ROOT%{_libdir}
# tests
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/{check_fasttransfer,openchange-testsuite,test_asyncnotif}
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/test_asyncnotif
+%if %{without mapitest}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/mapitest.1
+%endif
/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
%attr(755,root,root) %{_bindir}/exchange2mbox
%attr(755,root,root) %{_bindir}/mapiprofile
%attr(755,root,root) %{_bindir}/mapipropsdump
-# requires disabled libmapiproxy
-#%attr(755,root,root) %{_bindir}/ocnotify
%attr(755,root,root) %{_bindir}/openchangeclient
%attr(755,root,root) %{_bindir}/openchangemapidump
%attr(755,root,root) %{_bindir}/openchangepfadmin
%{_mandir}/man1/exchange2ical.1*
%{_mandir}/man1/exchange2mbox.1*
%{_mandir}/man1/mapiprofile.1*
-%{_mandir}/man1/mapitest.1*
%{_mandir}/man1/openchangeclient.1*
%{_mandir}/man1/openchangepfadmin.1*
+%if %{with mapiproxy}
+%attr(755,root,root) %{_bindir}/ocnotify
+%attr(755,root,root) %{_sbindir}/openchange_group
+%attr(755,root,root) %{_sbindir}/openchange_migrate
+%attr(755,root,root) %{_sbindir}/openchange_neworganization
+%attr(755,root,root) %{_sbindir}/openchange_newuser
+%attr(755,root,root) %{_sbindir}/openchange_provision
+# XXX: dir specified by dcerpc_server.pc file, should belong to samba or samba-libs
+%dir %{_libdir}/samba/dcerpc_server
+%attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_asyncemsmdb.so
+%attr(755,root,root) %{_libdir}/samba/dcerpc_server/dcesrv_mapiproxy.so
+%dir %{_libdir}/openchange
+%dir %{_libdir}/openchange/modules
+%dir %{_libdir}/openchange/modules/dcerpc_mapiproxy
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_cache.so
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_downgrade.so
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_dummy.so
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy/mpm_pack.so
+%dir %{_libdir}/openchange/modules/dcerpc_mapiproxy_server
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_ds_rfr.so
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_emsmdb.so
+%attr(755,root,root) %{_libdir}/openchange/modules/dcerpc_mapiproxy_server/exchange_nsp.so
+%{_datadir}/openchange/setup/mapistore
+%{_datadir}/openchange/setup/openchangedb
+%dir %{_datadir}/samba/setup/AD
+%{_datadir}/samba/setup/AD/oc_provision_*.ldif
+%{_datadir}/samba/setup/AD/provision_schema_basedn_modify.ldif
+%{_datadir}/samba/setup/AD/update_now.ldif
+%{_datadir}/samba/setup/AD/prefixMap.txt
+%endif
+%if %{with mapitest}
+%attr(755,root,root) %{_bindir}/mapitest
+%{_datadir}/openchange/mapitest
+%{_mandir}/man1/mapitest.1*
+%endif
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %ghost %{_libdir}/libmapiadmin.so.0
%attr(755,root,root) %{_libdir}/libocpf.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libocpf.so.0
+%if %{with mapiproxy}
+%attr(755,root,root) %{_libdir}/libmapiproxy.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmapiproxy.so.0
+%attr(755,root,root) %{_libdir}/libmapiserver.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmapiserver.so.0
+%attr(755,root,root) %{_libdir}/libmapistore.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmapistore.so.0
+%endif
%files devel
%defattr(644,root,root,755)
%{_pkgconfigdir}/libmapi.pc
%{_pkgconfigdir}/libmapiadmin.pc
%{_pkgconfigdir}/libocpf.pc
+%if %{with mapiproxy}
+%attr(755,root,root) %{_libdir}/libmapiproxy.so
+%attr(755,root,root) %{_libdir}/libmapiserver.so
+%attr(755,root,root) %{_libdir}/libmapistore.so
+%{_includedir}/mapistore
+%{_includedir}/libmapiproxy.h
+%{_includedir}/libmapiserver.h
+%{_pkgconfigdir}/libmapiproxy.pc
+%{_pkgconfigdir}/libmapiserver.pc
+%{_pkgconfigdir}/libmapistore.pc
+%endif
%files c++
%defattr(644,root,root,755)
%dir %{py_sitedir}/openchange
%attr(755,root,root) %{py_sitedir}/openchange/mapi.so
%attr(755,root,root) %{py_sitedir}/openchange/mapistore.so
+%if %{with mapiproxy}
+%{py_sitedir}/openchange/*.py[co]
+%{py_sitedir}/openchange/migration
+%{py_sitedir}/openchange/tests
+%{py_sitedir}/openchange/utils
+%{py_sitedir}/openchange/web
+%endif
%endif
%files -n nagios-plugin-openchange