[php53-mapi/el5] Initial import of php53-mapi into EPEL 5

Robert Scheck robert at fedoraproject.org
Thu Jul 28 00:44:16 UTC 2011


commit 41255a9e0b36fb301fda0bfffdd0027d6812482e
Author: Robert Scheck <robert at fedoraproject.org>
Date:   Thu Jul 28 02:43:51 2011 +0200

    Initial import of php53-mapi into EPEL 5

 .gitignore                |    1 +
 php53-mapi.spec           |  163 +++++++++++++++++++++++++++++++++++++++++++++
 sources                   |    1 +
 zarafa-6.40.5-rpath.patch |  115 +++++++++++++++++++++++++++++++
 zarafa.ini                |    2 +
 5 files changed, 282 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..57993fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+zcp-7.0.0.tar.gz
diff --git a/php53-mapi.spec b/php53-mapi.spec
new file mode 100644
index 0000000..b5be832
--- /dev/null
+++ b/php53-mapi.spec
@@ -0,0 +1,163 @@
+%global beta_or_rc      0
+%global actual_release  1
+%global svnrevision     27791
+
+Summary:            The PHP 5.3 MAPI extension by Zarafa
+Name:               php53-mapi
+Version:            7.0.0
+%if %{beta_or_rc}
+Release:            0.%{actual_release}.svn%{svnrevision}%{?dist}
+%else
+Release:            %{actual_release}%{?dist}
+%endif
+# Red Hat Legal has been advised by email from Zarafa that no license is
+# required in order to use the letter string "zarafa" (combined with other
+# words) in the package naming, to refer to the software as "Zarafa" to
+# indicate its intended purpose, and to modify packages with bug fixes and
+# enhancements.
+License:            AGPLv3 with exceptions
+Group:              Development/Languages
+URL:                http://www.zarafa.com/
+%if %{beta_or_rc}
+Source0:            http://download.zarafa.com/community/beta/7.0/%{version}-%{svnrevision}/sourcecode/zcp-%{version}.tar.gz
+%else
+Source0:            http://download.zarafa.com/community/final/7.0/%{version}-%{svnrevision}/sourcecode/zcp-%{version}.tar.gz
+%endif
+Source1:            zarafa.ini
+
+Patch0:             zarafa-6.40.5-rpath.patch
+
+BuildRequires:      bison
+BuildRequires:      gcc-c++
+BuildRequires:      byacc
+BuildRequires:      flex
+BuildRequires:      libical-devel >= 0.42
+BuildRequires:      libvmime-devel >= 0.9.0
+BuildRequires:      libxml2-devel
+BuildRequires:      mysql-devel >= 4.1
+BuildRequires:      ncurses-devel
+BuildRequires:      pam-devel
+BuildRequires:      php53-devel
+BuildRequires:      %{_includedir}/uuid/uuid.h
+BuildRequires:      %{_includedir}/curl/curl.h
+BuildRequires:      libicu-devel >= 3.4
+BuildRequires:      boost141-devel
+
+# Bug: Without mod_ssl, reloading httpd causes core dump
+Requires:           mod_ssl
+Requires:           php(zend-abi) = %{php_zend_api}, php(api) = %{php_core_api}
+Provides:           php-mapi = %{version}-%{release}
+BuildRoot:          %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+%description
+The php53-mapi package contains the PHP 5.3 MAPI extension to provide access
+to Microsoft MAPI functions while using PHP. Although not all MAPI functions
+and interfaces are supported so far, most functions have a PHP counterpart
+in this extension. Using this PHP 5.3 MAPI extension, developers can create
+e.g. webbased e-mail and calendaring systems and interfaces with existing
+PHP projects, using the MAPI functions like a normal MAPI program.
+
+%prep
+%setup -q -n zarafa-%{version}
+%patch0 -p1 -b .rpath
+touch -c -r aclocal.m4.rpath aclocal.m4
+
+%build
+export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -ggdb"
+export CPPFLAGS="$CPPFLAGS -I%{_includedir}/boost141"
+export LDFLAGS="$LDFLAGS -L%{_libdir}/boost141"
+
+%configure --disable-static
+for subdir in common mapi4linux libfreebusy libicalmapi inetmapi php-ext; do
+  make -C $subdir %{?_smp_mflags}
+done
+
+%install
+rm -rf $RPM_BUILD_ROOT
+for subdir in mapi4linux libicalmapi inetmapi php-ext; do
+  make -C $subdir DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
+done
+
+# Remove all libtool .la files, unwanted libraries and headers
+rm -rf $RPM_BUILD_ROOT%{_includedir}
+rm -f $RPM_BUILD_ROOT%{_libdir}/{*.{la,so*},php/modules/*.la}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc installer/licenseagreement/AGPL-3
+%config(noreplace) %{_sysconfdir}/php.d/zarafa.ini
+%{_datadir}/php/mapi/
+%{_libdir}/php/modules/mapi.so
+
+%changelog
+* Mon Jun 27 2011 Robert Scheck <robert at fedoraproject.org> 7.0.0-1
+- Upgrade to 7.0.0
+
+* Tue Jun 14 2011 Robert Scheck <robert at fedoraproject.org> 6.40.9-1
+- Upgrade to 6.40.9
+
+* Sat May 28 2011 Robert Scheck <robert at fedoraproject.org> 6.40.8-1
+- Upgrade to 6.40.8
+
+* Wed Apr 06 2011 Robert Scheck <robert at fedoraproject.org> 6.40.7-1
+- Upgrade to 6.40.7
+
+* Thu Mar 24 2011 Robert Scheck <robert at fedoraproject.org> 6.40.6-2
+- Rebuilt for mysql 5.5.10 (soname bump in libmysqlclient)
+
+* Mon Mar 21 2011 Robert Scheck <robert at fedoraproject.org> 6.40.6-1
+- Upgrade to 6.40.6
+
+* Sun Feb 27 2011 Robert Scheck <robert at fedoraproject.org> 6.40.5-1
+- Upgrade to 6.40.5
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 6.40.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sun Dec 12 2010 Robert Scheck <robert at fedoraproject.org> 6.40.4-1
+- Upgrade to 6.40.4
+
+* Fri Oct 29 2010 Robert Scheck <robert at fedoraproject.org> 6.40.3-1
+- Upgrade to 6.40.3
+
+* Tue Aug 31 2010 Robert Scheck <robert at fedoraproject.org> 6.40.2-1
+- Upgrade to 6.40.2
+
+* Mon Aug 09 2010 Robert Scheck <robert at fedoraproject.org> 6.40.1-1
+- Upgrade to 6.40.1
+
+* Tue Jun 15 2010 Robert Scheck <robert at fedoraproject.org> 6.40.0-3
+- Rebuild for perl 5.12.1
+
+* Fri Jun 11 2010 Robert Scheck <robert at fedoraproject.org> 6.40.0-2
+- Added patch to ensure -pthread for -lclucene configure test
+
+* Thu Jun 10 2010 Robert Scheck <robert at fedoraproject.org> 6.40.0-1
+- Upgrade to 6.40.0 (#564135, #565252, #600993)
+
+* Sat May 01 2010 Robert Scheck <robert at fedoraproject.org> 6.30.14-1
+- Upgrade to 6.30.14
+
+* Sun Apr 25 2010 Robert Scheck <robert at fedoraproject.org> 6.30.13-1
+- Upgrade to 6.30.13
+- Moved zarafa.schema file from %%doc to %%{_datadir}/%%{name}
+
+* Sat Mar 20 2010 Robert Scheck <robert at fedoraproject.org> 6.30.12-1
+- Upgrade to 6.30.12
+
+* Fri Mar 19 2010 Robert Scheck <robert at fedoraproject.org> 6.30.11-1
+- Upgrade to 6.30.11
+
+* Tue Feb 23 2010 Robert Scheck <robert at fedoraproject.org> 6.30.10-2
+- Backported a patch from trunk to avoid the crash of zarafa-server
+  when creating new user with db or unix plugin (#564282, #567262)
+- Backported another patch from trunk to avoid the crash of httpd
+  caused by PHP mapi.so during the logon in the webaccess (#564129)
+
+* Sat Feb 06 2010 Robert Scheck <robert at fedoraproject.org> 6.30.10-1
+- Upgrade to 6.30.10 (#498194)
+- Initial spec file for Fedora and Red Hat Enterprise Linux (thanks
+  to Jeroen van Meeuwen, John van der Kamp and Steve Hardy)
diff --git a/sources b/sources
index e69de29..00d7b04 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+bed709709c175858414aa8965b4aa20f  zcp-7.0.0.tar.gz
diff --git a/zarafa-6.40.5-rpath.patch b/zarafa-6.40.5-rpath.patch
new file mode 100644
index 0000000..b39097c
--- /dev/null
+++ b/zarafa-6.40.5-rpath.patch
@@ -0,0 +1,115 @@
+Patch by Robert Scheck <robert at fedoraproject.org> for zarafa >= 6.40.5, which works
+around the broken libtool of Debian. Multilib/multiarch systems like Fedora or Red
+Hat Enterprise Linux are using /usr/lib64 for 64 bit libraries and /usr/lib is used
+for 32 bit libraries. That allows to run 32 bit software on 64 bit systems. Debian
+systems only use /usr/lib which contains only 32 or 64 bit systems depending on the
+architecture.
+
+Libtool hardcodes the runtime search path in a library (rpath), if the library that
+is used for linking is not within the default system library path. The result is,
+that if aclocal.m4/configure files are generated by a Debian system, but used on a
+Fedora or Red Hat Enterprise Linux 64 bit system for compiling, "-rpath /usr/lib64"
+makes it into the binary.
+
+Fedora and EPEL (for Red Hat Enterprise Linux) do not allow binaries with rpath, as
+the Linux dynamic linker is usually smarter than the hardcoded path.
+
+The fix for this issue is to add the optional /lib64 and /usr/lib64 directories at/
+within libtool in front of the regular /lib and /usr/lib directories at the system
+library path. These libtool information are hold in aclocal.m4, which is generated
+by running aclocal. As the content of aclocal.m4 is included into configure during
+a run of autoconf, aclocal.m4 needs to be modified within the upstream build system
+each time after a aclocal run - until Debian's libtool is fixed at Debian upstream.
+
+Applying the fix is either possible by using the first hunk of the patch (second
+hunk is runtime-only if configure file has been already generated) or by running
+the following sed command after each aclocal run within the upstream build system:
+
+  sed -e 's@\(# Append ld.so.conf contents to the search path\)@# Add ABI-specific directories to the system library path.\n  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"\n\n  \1@' \
+      -e 's@/lib /usr/lib $lt_ld_extra@$sys_lib_dlsearch_path_spec $lt_ld_extra@' -i zarafa-6.40.5/aclocal.m4
+
+More information regarding this topic can be found for example at:
+
+ - http://osdir.com/ml/bug-libtool-gnu/2009-12/msg00034.html
+ - http://lists.gnu.org/archive/html/libtool/2009-01/msg00039.html
+ - http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345
+
+--- zarafa-6.40.5/aclocal.m4			2011-01-24 13:06:08.000000000 +0100
++++ zarafa-6.40.5/aclocal.m4.rpath		2011-02-27 14:00:53.371489885 +0100
+@@ -1708,10 +1708,13 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+--- zarafa-6.40.5/configure			2011-01-24 13:06:11.000000000 +0100
++++ zarafa-6.40.5/configure.rpath		2011-02-27 14:00:35.902552604 +0100
+@@ -9614,10 +9614,13 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -13592,10 +13595,13 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -16226,10 +16232,13 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -18860,10 +18869,13 @@
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
++  # Add ABI-specific directories to the system library path.
++  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
++
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
diff --git a/zarafa.ini b/zarafa.ini
new file mode 100644
index 0000000..160434a
--- /dev/null
+++ b/zarafa.ini
@@ -0,0 +1,2 @@
+; Enable Zarafa mapi extension module
+extension=mapi.so


More information about the scm-commits mailing list