From 2e23aecced01e474d77c3194595d70c1de087dbb Mon Sep 17 00:00:00 2001 From: Robert Scheck Date: Jul 10 2014 22:38:26 +0000 Subject: Merge remote branch 'origin/master' into el6 --- diff --git a/zarafa-7.1.10-kyotocabinet.patch b/zarafa-7.1.10-kyotocabinet.patch new file mode 100644 index 0000000..43e62a3 --- /dev/null +++ b/zarafa-7.1.10-kyotocabinet.patch @@ -0,0 +1,28 @@ +Patch by Robert Scheck for zarafa >= 7.1.10 which re-adds the ability to disable +zarafa-search during build-time. This is e.g. required if CLucene and/or Kyotocabinet is unavailable or +broken on the given system and/or architecture. Interestingly that patch is not new, I wrote these lines +in 2012 the first time, proposed them as a patch to Zarafa and got merged. With a recent Zarafa release it +seems they silently removed it again... + +--- zarafa-7.1.10/ECtools/zarafa-search/Makefile.am 2014-05-23 15:03:49.000000000 +0200 ++++ zarafa-7.1.10/ECtools/zarafa-search/Makefile.am.kyotocabinet 2014-07-10 21:48:42.000000000 +0200 +@@ -1,4 +1,8 @@ ++if WITH_CLUCENE ++if WITH_KYOTOCABINET + bin_PROGRAMS = zarafa-search ++endif ++endif + + AM_CPPFLAGS = ${ZCPPFLAGS} \ + -I${top_srcdir}/mapi4linux/include \ +--- zarafa-7.1.10/ECtools/zarafa-search/Makefile.in 2014-05-23 15:04:02.000000000 +0200 ++++ zarafa-7.1.10/ECtools/zarafa-search/Makefile.in.kyotocabinet 2014-07-10 21:49:16.000000000 +0200 +@@ -34,7 +34,7 @@ + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-bin_PROGRAMS = zarafa-search$(EXEEXT) ++@WITH_CLUCENE_TRUE@@WITH_KYOTOCABINET_TRUE@bin_PROGRAMS = zarafa-search$(EXEEXT) + subdir = ECtools/zarafa-search + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff --git a/zarafa-7.1.10-mariadb.patch b/zarafa-7.1.10-mariadb.patch new file mode 100644 index 0000000..419017a --- /dev/null +++ b/zarafa-7.1.10-mariadb.patch @@ -0,0 +1,22 @@ +Patch by Robert Scheck for zarafa >= 7.1.10 which really (!) adds support for +MariaDB. In theory, Zarafa 7.1.10 supports MariaDB, see https://jira.zarafa.com/browse/ZCP-11934 for some +upstream details. However it poorly fails if really trying it with e.g. MariaDB 5.5.38: + +Jul 10 23:40:40 tux zarafa-server[24633]: SQL [00000002] result failed: BIGINT UNSIGNED value is out of range in '(`zarafa`.`properties`.`tag` - 0x8501)', Query: "SELECT 0,properties.tag,properties.type,properties.val_ulong,properties.val_string,properties.val_binary,properties.val_double,properties.val_longint,properties.val_hi,properties.val_lo, hierarchyid, names.nameid, names.namestring, names.guid FROM properties FORCE INDEX (PRIMARY) LEFT JOIN names ON (properties.tag-0x8501)=names.id WHERE hierarchyid=3 AND (tag <= 0x8500 OR names.id IS NOT NULL)" +Jul 10 23:40:40 tux zarafa-server[24633]: SQL [00000004] result failed: BIGINT UNSIGNED value is out of range in '(`zarafa`.`properties`.`tag` - 0x8501)', Query: "SELECT 0,properties.tag,properties.type,properties.val_ulong,properties.val_string,properties.val_binary,properties.val_double,properties.val_longint,properties.val_hi,properties.val_lo, hierarchyid, names.nameid, names.namestring, names.guid FROM properties FORCE INDEX (PRIMARY) LEFT JOIN names ON (properties.tag-0x8501)=names.id WHERE hierarchyid=4 AND (tag <= 0x8500 OR names.id IS NOT NULL)" +Jul 10 23:40:40 tux zarafa-server[24633]: SQL [00000006] result failed: BIGINT UNSIGNED value is out of range in '(`zarafa`.`properties`.`tag` - 0x8501)', Query: "SELECT 0,properties.tag,properties.type,properties.val_ulong,properties.val_string,properties.val_binary,properties.val_double,properties.val_longint,properties.val_hi,properties.val_lo, hierarchyid, names.nameid, names.namestring, names.guid FROM properties FORCE INDEX (PRIMARY) LEFT JOIN names ON (properties.tag-0x8501)=names.id WHERE hierarchyid=4 AND (tag <= 0x8500 OR names.id IS NOT NULL)" + +Even this might not be a clean solution it at least makes Zarafa usable with MariaDB - which is important +nowadays as Red Hat Enterprise Linux and CentOS 7 are only shipping MariaDB by default rather MySQL. + +--- zarafa-7.1.10/provider/libserver/ECDatabaseMySQL.cpp 2014-05-23 15:56:38.000000000 +0200 ++++ zarafa-7.1.10/provider/libserver/ECDatabaseMySQL.cpp.mariadb 2014-07-10 23:44:19.000000000 +0200 +@@ -628,7 +628,7 @@ + + if (m_lpMySQL.server_version && m_lpMySQL.server_version[0] >= '5') { + // this option was introduced in mysql 5.0, so let's not even try on 4.1 servers +- strQuery = "SET SESSION sql_mode = 'STRICT_ALL_TABLES'"; ++ strQuery = "SET SESSION sql_mode = 'STRICT_ALL_TABLES,NO_UNSIGNED_SUBTRACTION'"; + Query(strQuery); // ignore error + } + diff --git a/zarafa.spec b/zarafa.spec index 410e9f8..2f61640 100644 --- a/zarafa.spec +++ b/zarafa.spec @@ -1,5 +1,5 @@ %global beta_or_rc 0 -%global actual_release 1 +%global actual_release 2 %global svnrevision 44973 %global with_search 1 %global with_ldap 1 @@ -54,6 +54,8 @@ Source2: %{name}.logrotate Source3: %{name}-webaccess.conf Patch0: zarafa-7.0.9-rpath.patch +Patch1: zarafa-7.1.10-kyotocabinet.patch +Patch2: zarafa-7.1.10-mariadb.patch BuildRequires: bison BuildRequires: gcc-c++ @@ -375,6 +377,8 @@ to interact with Zarafa. %setup -q %patch0 -p1 -b .rpath touch -c -r aclocal.m4.rpath aclocal.m4 +%patch1 -p1 -b .kyotocabinet +%patch2 -p1 -b .mariadb %build %if 0%{?rhel}%{?fedora} < 6 @@ -912,6 +916,10 @@ fi %{python_sitearch}/* %changelog +* Fri Jul 11 2014 Robert Scheck 7.1.10-2 +- Added a workaround to really support MariaDB (#995870) +- Re-added a patch to allow building without zarafa-search + * Sun Jun 29 2014 Robert Scheck 7.1.10-1 - Upgrade to 7.1.10