- Upgrade to 7.0.4
- Added patch for rebuilding with PHP 5.4 (thanks to Remi Collet) - Work around crashs by reducing open file descriptors (#760888)
This commit is contained in:
parent
b2a9f5349a
commit
d4b9b96d28
3 changed files with 183 additions and 6 deletions
36
zarafa-7.0.4-fd_setsize.patch
Normal file
36
zarafa-7.0.4-fd_setsize.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Patch by Robert Scheck <robert@fedoraproject.org> for Zarafa >= 7.0.4, which works around
|
||||
the issue that Zarafa is using up to 8192 open file descriptors, while the system glibc is
|
||||
allowing at maximum 1024. Of course glibc supports more open file descriptors, however the
|
||||
usage seems to be non-POSIX conform and non-portable. Finally a check was implemented into
|
||||
glibc by upstream developers to catch such strange usage cases. That check causes Zarafa
|
||||
to fail with a segmentation fault when built with -D_FORTIFY_SOURCE=2 and glibc-2.14.90-8
|
||||
or newer (actually Fedora 16 with updates and newer).
|
||||
|
||||
This patch is a workaround until gSOAP parts are updated/changed/rewritten to use poll(2)
|
||||
instead of select(2). Lowering FD_SETSIZE was suggested by Milo Oostergo from Zarafa B.V.
|
||||
|
||||
--- zarafa-7.0.4/provider/soap/soapdefs.h 2011-12-22 01:02:31.000000000 +0100
|
||||
+++ zarafa-7.0.4/provider/soap/soapdefs.h.fd_setsize 2012-01-12 22:36:40.000000000 +0100
|
||||
@@ -8,6 +8,6 @@
|
||||
|
||||
#include <bits/types.h>
|
||||
#undef __FD_SETSIZE
|
||||
-#define __FD_SETSIZE 8192
|
||||
+#define __FD_SETSIZE 1024
|
||||
|
||||
#endif // ndef SOAPDEFS_H_
|
||||
--- zarafa-7.0.4/common/platform.h 2011-12-22 01:02:34.000000000 +0100
|
||||
+++ zarafa-7.0.4/common/platform.h.fd_setsize 2012-01-12 22:37:03.000000000 +0100
|
||||
@@ -52,10 +52,10 @@
|
||||
|
||||
|
||||
// We have to include this now in case select.h is included too soon.
|
||||
- // Increase our maximum amount of file descriptors to 8192
|
||||
+ // Increase our maximum amount of file descriptors to 1024
|
||||
#include <bits/types.h>
|
||||
#undef __FD_SETSIZE
|
||||
- #define __FD_SETSIZE 8192
|
||||
+ #define __FD_SETSIZE 1024
|
||||
|
||||
// Log the pthreads locks
|
||||
#define DEBUG_PTHREADS 0
|
||||
130
zarafa-7.0.4-php54.patch
Normal file
130
zarafa-7.0.4-php54.patch
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
Patch by Robert Scheck <robert@fedoraproject.org> for Zarafa >= 7.0.4, which fixes building of the PHP
|
||||
extension of Zarafa with PHP >= 5.4.0. It is heavily based on the work of Remi Collet. Fedora 17+ will
|
||||
ship PHP >= 5.4.0, so the changes are here mandatory. According to /usr/include/php/main/php3_compat.h
|
||||
the "typedef zval pval;" definition exists for ages and I wasn't able to figure out any build issue in
|
||||
Red Hat Enterprise Linux 5 (as oldest supported version of Zarafa 7.0.x) during my tests. References:
|
||||
|
||||
- https://github.com/remicollet/remirepo/blob/1e741d6002a34add940c15711cf061c35d4c9e91/zarafa/zarafa-7.0.3-php54.patch
|
||||
- http://forums.zarafa.com/viewtopic.php?f=22&t=7826
|
||||
|
||||
--- zarafa-7.0.4/php-ext/ECImportContentsChangesProxy.cpp 2011-12-22 01:02:33.000000000 +0100
|
||||
+++ zarafa-7.0.4/php-ext/ECImportContentsChangesProxy.cpp.php54 2012-01-08 23:58:33.000000000 +0100
|
||||
@@ -150,9 +150,9 @@
|
||||
HRESULT ECImportContentsChangesProxy::Config(LPSTREAM lpStream, ULONG ulFlags) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[2];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[2];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
@@ -192,9 +192,9 @@
|
||||
HRESULT ECImportContentsChangesProxy::UpdateState(LPSTREAM lpStream) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[1];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[1];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
@@ -228,9 +228,9 @@
|
||||
}
|
||||
|
||||
HRESULT ECImportContentsChangesProxy::ImportMessageChange(ULONG cValues, LPSPropValue lpPropArray, ULONG ulFlags, LPMESSAGE * lppMessage) {
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[3];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[3];
|
||||
IMessage *lpMessage = NULL;
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
@@ -287,9 +287,9 @@
|
||||
HRESULT ECImportContentsChangesProxy::ImportMessageDeletion(ULONG ulFlags, LPENTRYLIST lpSourceEntryList) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[2];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[2];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
@@ -323,9 +323,9 @@
|
||||
HRESULT ECImportContentsChangesProxy::ImportPerUserReadStateChange(ULONG cElements, LPREADSTATE lpReadState) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[1];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[1];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
--- zarafa-7.0.4/php-ext/ECImportHierarchyChangesProxy.cpp 2011-12-22 01:02:33.000000000 +0100
|
||||
+++ zarafa-7.0.4/php-ext/ECImportHierarchyChangesProxy.cpp.php54 2012-01-08 23:58:33.000000000 +0100
|
||||
@@ -147,9 +147,9 @@
|
||||
HRESULT ECImportHierarchyChangesProxy::Config(LPSTREAM lpStream, ULONG ulFlags) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[2];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[2];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
@@ -189,9 +189,9 @@
|
||||
HRESULT ECImportHierarchyChangesProxy::UpdateState(LPSTREAM lpStream) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[1];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[1];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
@@ -225,9 +225,9 @@
|
||||
}
|
||||
|
||||
HRESULT ECImportHierarchyChangesProxy::ImportFolderChange(ULONG cValues, LPSPropValue lpPropArray) {
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[1];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[1];
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
@@ -265,9 +265,9 @@
|
||||
HRESULT ECImportHierarchyChangesProxy::ImportFolderDeletion(ULONG ulFlags, LPENTRYLIST lpSourceEntryList) {
|
||||
HRESULT hr = hrSuccess;
|
||||
|
||||
- pval *pvalFuncName;
|
||||
- pval *pvalReturn;
|
||||
- pval *pvalArgs[2];
|
||||
+ zval *pvalFuncName;
|
||||
+ zval *pvalReturn;
|
||||
+ zval *pvalArgs[2];
|
||||
|
||||
MAKE_STD_ZVAL(pvalFuncName);
|
||||
MAKE_STD_ZVAL(pvalReturn);
|
||||
23
zarafa.spec
23
zarafa.spec
|
|
@ -1,6 +1,6 @@
|
|||
%global beta_or_rc 0
|
||||
%global actual_release 2
|
||||
%global svnrevision 30515
|
||||
%global actual_release 1
|
||||
%global svnrevision 31235
|
||||
%global with_clucene 1
|
||||
%global with_ldap 1
|
||||
%global with_xmlto 1
|
||||
|
|
@ -12,13 +12,14 @@
|
|||
%if 0%{?rhel}%{?fedora} > 4
|
||||
%{?filter_setup:
|
||||
%filter_provides_in %{_libdir}/%{name}/.*\.so$
|
||||
%filter_provides_in %{_libdir}/php/modules/.*\.so$
|
||||
%filter_setup
|
||||
}
|
||||
%endif
|
||||
|
||||
Summary: Open Source Edition of the Zarafa Collaboration Platform
|
||||
Name: zarafa
|
||||
Version: 7.0.3
|
||||
Version: 7.0.4
|
||||
%if %{beta_or_rc}
|
||||
Release: 0.%{actual_release}.svn%{svnrevision}%{?dist}
|
||||
%else
|
||||
|
|
@ -43,6 +44,8 @@ Source3: %{name}-webaccess.conf
|
|||
|
||||
Patch0: zarafa-6.40.5-rpath.patch
|
||||
Patch1: zarafa-7.0.3-boost149.patch
|
||||
Patch2: zarafa-7.0.4-php54.patch
|
||||
Patch3: zarafa-7.0.4-fd_setsize.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: gcc-c++
|
||||
|
|
@ -369,6 +372,8 @@ to interact with Zarafa.
|
|||
touch -c -r aclocal.m4.rpath aclocal.m4
|
||||
%patch1 -p1 -b .boost149
|
||||
touch -c -r configure.ac.boost149 configure.ac
|
||||
%patch2 -p1 -b .php54
|
||||
%patch3 -p1 -b .fd_setsize
|
||||
|
||||
%build
|
||||
%if 0%{?rhel}%{?fedora} < 6
|
||||
|
|
@ -377,7 +382,7 @@ export LDFLAGS="$LDFLAGS -L%{_libdir}/boost141"
|
|||
%endif
|
||||
|
||||
%if 0%{?fedora} > 15
|
||||
export LDFLAGS="$LDFLAGS -L%{_libdir}/clucene09"
|
||||
export LDFLAGS="$RPM_LD_FLAGS -L%{_libdir}/clucene09"
|
||||
%endif
|
||||
|
||||
%configure \
|
||||
|
|
@ -421,7 +426,7 @@ make \
|
|||
install-ajax-webaccess
|
||||
|
||||
# Nuke all overlefts from licensed, managed or other proprietary items
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{license,licensed.cfg,report-ca}
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/{%{name}/{license,licensed.cfg,report-ca},cron.daily/%{name}-client-update}
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man?/{zarafa-{backup,restore,report,msr,ldapms.cfg,licensed{,.cfg}},za-aclsync}.*
|
||||
|
||||
# Move all the initscripts to their appropriate place and
|
||||
|
|
@ -675,6 +680,7 @@ fi
|
|||
%files client -f %{name}.lang
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libzarafaclient.so
|
||||
%{_libdir}/libzarafasync.so.*
|
||||
|
||||
%files common
|
||||
%defattr(-,root,root,-)
|
||||
|
|
@ -709,7 +715,7 @@ fi
|
|||
%{_libdir}/libcommon_ssl.a
|
||||
%{_libdir}/libcommon_util.a
|
||||
%{_libdir}/libfreebusy.a
|
||||
%{_libdir}/libzarafasync.a
|
||||
%{_libdir}/libzarafasync.so
|
||||
%{_includedir}/icalmapi/
|
||||
%{_includedir}/inetmapi/
|
||||
%{_includedir}/mapi4linux/
|
||||
|
|
@ -874,6 +880,11 @@ fi
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Jan 13 2012 Robert Scheck <robert@fedoraproject.org> 7.0.4-1
|
||||
- Upgrade to 7.0.4
|
||||
- Added patch for rebuilding with PHP 5.4 (thanks to Remi Collet)
|
||||
- Work around crashs by reducing open file descriptors (#760888)
|
||||
|
||||
* Sat Dec 17 2011 Robert Scheck <robert@fedoraproject.org> 7.0.3-2
|
||||
- Enabled non-optional build of epoll socket handling (#760888)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue