Compare commits

..

No commits in common. "rawhide" and "f17" have entirely different histories.

11 changed files with 1456 additions and 1 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
zcp-7.?.*.tar.gz

View file

@ -1 +0,0 @@
Package is retired

1
sources Normal file
View file

@ -0,0 +1 @@
c1f8e8bf841a40db104e6149fb48830d zcp-7.1.4.tar.gz

View file

@ -0,0 +1,44 @@
Patch by Robert Scheck <robert@fedoraproject.org> for zarafa >= 7.0.8, which works
around the insane written C/C++ code. I am not a C/C++ developer, but you only can
use four macros for handling va_list at all: va_start, va_arg, va_copy and va_end.
As a developer you should not assume that va_list is always internally typed as an
integer because it is case on i?86 and x86_64 for example. Architectures like ARM
handle va_list not as an integer and thus fail during compiling like this:
Trace.cpp:129:16: error: invalid operands of types 'va_list {aka __va_list}' and
'int' to binary 'operator!='
Trace.cpp:142:16: error: invalid operands of types 'va_list {aka __va_list}' and
'int' to binary 'operator!='
As it is unfortunately not safe to assume that format does not contain attributes
while va is empty this workaround is only applied on the affected ARM architecture
for now. The only real solution is a clean rewrite of the code that should happen
upstream.
--- zarafa-7.0.8/common/Trace.cpp 2012-06-18 18:55:29.000000000 +0200
+++ zarafa-7.0.8/common/Trace.cpp.va_list 2012-06-20 01:20:06.000000000 +0200
@@ -126,7 +126,11 @@
len = pos + 3;
+#if defined __ARM_EABI__
+ if (format) {
+#else
if (format && va) {
+#endif
va_copy(va_lentest, va);
len += _vsnprintf(NULL, 0, format, va_lentest);
va_end(va_lentest);
@@ -139,7 +143,11 @@
memcpy(buffer, debug, pos);
+#if defined __ARM_EABI__
+ if (format)
+#else
if (format && va)
+#endif
pos = _vsnprintf(buffer+pos, len-pos, format, va);
if(pos == -1) {

85
zarafa-7.0.9-rpath.patch Normal file
View file

@ -0,0 +1,85 @@
Patch by Robert Scheck <robert@fedoraproject.org> for zarafa >= 7.0.9, 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-7.0.9/aclocal.m4 2012-08-03 13:58:18.000000000 +0200
+++ zarafa-7.0.9/aclocal.m4.rpath 2012-08-12 22:57:31.000000000 +0200
@@ -2485,10 +2485,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-7.0.9/configure 2012-08-03 13:58:18.000000000 +0200
+++ zarafa-7.0.9/configure.rpath 2012-08-12 22:59:05.000000000 +0200
@@ -10097,10 +10097,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
@@ -15288,10 +15291,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

View file

@ -0,0 +1,138 @@
Patch by Robert Scheck <robert@fedoraproject.org> for zarafa >= 7.1.4, which allows to build Zarafa even
if Kyoto Cabinet is not available. In the end it's introducing the same behaviour like CLucene has at the
moment already. If you build using './configure --with-clucene-lib-prefix=' simply no zarafa-search gets
build. But if you build using './configure --with-clucene-lib-prefix= --disable-kyotocabinet', simply no
zarafa-search will be build on Zarafa 7.1. If you don't pass both options, it's looking for CLucene and
Kyoto Cabinet like before. However, there are (experimental) architectures, where one or both is not (yet)
available and this avoids building Zarafa on these architectures and/or systems. It should not introduce
any regressions, just give some more flexibility to packagers. https://jira.zarafa.com/browse/ZCP-9862 is
providing some more information.
--- zarafa-7.1.4/configure.ac 2013-02-28 16:12:05.000000000 +0100
+++ zarafa-7.1.4/configure.ac.kyotocabinetc 2013-03-23 22:32:04.000000000 +0100
@@ -411,7 +411,15 @@
CXXFLAGS=$CXXFLAGS_system
CPPFLAGS=$CPPFLAGS_system
+AC_ARG_ENABLE(kyotocabinet, AC_HELP_STRING([--enable-kyotocabinet], [enable building with kyotocabinet support]), [want_kyotocabinet=${enableval}], [want_kyotocabinet=yes])
+AM_CONDITIONAL(WITH_KYOTOCABINET, test "$want_kyotocabinet" = "yes")
+if test "$want_kyotocabinet" = "yes"; then
PKG_CHECK_MODULES([KYOTOCABINET], [kyotocabinet])
+else
+AC_MSG_CHECKING([for KYOTOCABINET])
+AC_MSG_RESULT([$want_kyotocabinet])
+fi
+AM_CONDITIONAL([WITH_KYOTOCABINET], [test "$want_kyotocabinet" = "yes"])
AC_SUBST(KYOTOCABINET_CFLAGS)
AC_SUBST(KYOTOCABINET_LIBS)
--- zarafa-7.1.4/ECtools/zarafa-search/Makefile.am 2013-02-28 16:13:19.000000000 +0100
+++ zarafa-7.1.4/ECtools/zarafa-search/Makefile.am.kyotocabinet 2013-03-23 22:32:58.000000000 +0100
@@ -1,7 +1,9 @@
if WITH_CLUCENE
+if WITH_KYOTOCABINET
bin_PROGRAMS = zarafa-search
noinst_PROGRAMS = dump-index
endif
+endif
AM_CPPFLAGS = \
-I${top_srcdir}/mapi4linux/include \
--- zarafa-7.1.4/configure 2013-03-23 22:39:03.000000000 +0100
+++ zarafa-7.1.4/configure.kyotocabinet 2013-03-23 22:43:14.000000000 +0100
@@ -797,6 +797,8 @@
ICAL_CFLAGS
KYOTOCABINET_LIBS
KYOTOCABINET_CFLAGS
+WITH_KYOTOCABINET_FALSE
+WITH_KYOTOCABINET_TRUE
VMIME_LIBS
VMIME_CFLAGS
PKG_CONFIG_LIBDIR
@@ -999,6 +1001,7 @@
with_mysql_config
enable_embedded_mysql
with_vmime_prefix
+enable_kyotocabinet
with_ical_prefix
with_clucene_lib_prefix
with_clucene_include_prefix
@@ -1674,6 +1677,7 @@
--enable-swig enable regenerating swig code
--enable-python enable building python binding
--enable-embedded-mysql Compile zarafa-server with the embedded MySQL server
+ --enable-kyotocabinet enable building with kyotocabinet support
--enable-epoll enable building epoll socket handling
--enable-static-boost Prefer the static boost libraries over the shared
ones [no]
@@ -18198,6 +18202,22 @@
CXXFLAGS=$CXXFLAGS_system
CPPFLAGS=$CPPFLAGS_system
+# Check whether --enable-kyotocabinet was given.
+if test "${enable_kyotocabinet+set}" = set; then :
+ enableval=$enable_kyotocabinet; want_kyotocabinet=${enableval}
+else
+ want_kyotocabinet=yes
+fi
+
+ if test "$want_kyotocabinet" = "yes"; then
+ WITH_KYOTOCABINET_TRUE=
+ WITH_KYOTOCABINET_FALSE='#'
+else
+ WITH_KYOTOCABINET_TRUE='#'
+ WITH_KYOTOCABINET_FALSE=
+fi
+
+if test "$want_kyotocabinet" = "yes"; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KYOTOCABINET" >&5
@@ -18287,6 +18307,19 @@
$as_echo "yes" >&6; }
fi
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KYOTOCABINET" >&5
+$as_echo_n "checking for KYOTOCABINET... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_kyotocabinet" >&5
+$as_echo "$want_kyotocabinet" >&6; }
+fi
+ if test "$want_kyotocabinet" = "yes"; then
+ WITH_KYOTOCABINET_TRUE=
+ WITH_KYOTOCABINET_FALSE='#'
+else
+ WITH_KYOTOCABINET_TRUE='#'
+ WITH_KYOTOCABINET_FALSE=
+fi
@@ -20872,6 +20905,14 @@
as_fn_error $? "conditional \"WITH_XML2\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${WITH_KYOTOCABINET_TRUE}" && test -z "${WITH_KYOTOCABINET_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_KYOTOCABINET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_KYOTOCABINET_TRUE}" && test -z "${WITH_KYOTOCABINET_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_KYOTOCABINET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${WITH_CLUCENE_TRUE}" && test -z "${WITH_CLUCENE_FALSE}"; then
as_fn_error $? "conditional \"WITH_CLUCENE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
--- zarafa-7.1.4/ECtools/zarafa-search/Makefile.in 2013-02-28 16:13:47.000000000 +0100
+++ zarafa-7.1.4/ECtools/zarafa-search/Makefile.in.kyotocabinet 2013-03-23 22:53:45.000000000 +0100
@@ -34,8 +34,8 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-@WITH_CLUCENE_TRUE@bin_PROGRAMS = zarafa-search$(EXEEXT)
-@WITH_CLUCENE_TRUE@noinst_PROGRAMS = dump-index$(EXEEXT)
+@WITH_CLUCENE_TRUE@@WITH_KYOTOCABINET_TRUE@bin_PROGRAMS = zarafa-search$(EXEEXT)
+@WITH_CLUCENE_TRUE@@WITH_KYOTOCABINET_TRUE@noinst_PROGRAMS = dump-index$(EXEEXT)
subdir = ECtools/zarafa-search
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4

22
zarafa-7.1.4-swig20.patch Normal file
View file

@ -0,0 +1,22 @@
Patch by Sander Hoentjen <sander@hoentjen.eu> for zarafa >= 7.1.4, which ensures
building with swig 2.0.x by using PyInt_FromLong instead of SWIG_From_long.
--- zarafa-7.1.4/swig/icalmapi.i 2013-02-28 16:13:24.000000000 +0100
+++ zarafa-7.1.4/swig/icalmapi.i.swig20 2013-03-23 23:22:08.000000000 +0100
@@ -24,14 +24,14 @@
$1 = &temp;
}
%typemap(argout) (eIcalType* ) {
- %append_output(SWIG_From_long(*$1));
+ %append_output(PyInt_FromLong(*$1));
}
%typemap(in,numinputs=0) (time_t *) (time_t temp) {
$1 = &temp;
}
%typemap(argout) (time_t* ) {
- %append_output(SWIG_From_long(*$1));
+ %append_output(PyInt_FromLong(*$1));
}
%typemap(in,numinputs=0) (SBinary *) (SBinary temp) {

32
zarafa-webaccess.conf Normal file
View file

@ -0,0 +1,32 @@
#
# Zarafa Webaccess featuring a 'Look & Feel' similar to Outlook
#
Alias /webaccess /usr/share/zarafa-webaccess/
# Following Apache and PHP settings need to be set to work correct
#
<Directory /usr/share/zarafa-webaccess/>
# Some apache settings
Options -Indexes +FollowSymLinks
# Register globals must be off
php_flag register_globals off
# Magic quotes must be off
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
# The maximum POST limit. To upload large files, this value must
# be larger than upload_max_filesize.
php_value post_max_size 31M
php_value upload_max_filesize 30M
# Short open tags must be on
php_flag short_open_tag on
# Uncomment for debugging purposes only. Make sure Apache/PHP can
# write to this file or no errors will be logged!
# php_flag log_errors on
# php_value error_log /var/lib/zarafa-webaccess/error_log
</Directory>

2
zarafa.ini Normal file
View file

@ -0,0 +1,2 @@
; Enable Zarafa mapi extension module
extension=mapi.so

100
zarafa.logrotate Normal file
View file

@ -0,0 +1,100 @@
/var/log/zarafa/archiver.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 0644 zarafa zarafa
}
/var/log/zarafa/dagent.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-dagent 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/gateway.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-gateway 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/ical.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-ical 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/indexer.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-indexer 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/monitor.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-monitor 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/server.log /var/log/zarafa/audit.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-server 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}
/var/log/zarafa/spooler.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
postrotate
killall -HUP zarafa-spooler 2> /dev/null || true
endscript
create 0644 zarafa zarafa
}

1031
zarafa.spec Normal file

File diff suppressed because it is too large Load diff