Skip to content

Commit

Permalink
zarafa: import from f16
Browse files Browse the repository at this point in the history
  • Loading branch information
remicollet committed Dec 29, 2011
1 parent 1ff8fa1 commit f953669
Show file tree
Hide file tree
Showing 6 changed files with 1,202 additions and 0 deletions.
4 changes: 4 additions & 0 deletions zarafa/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
SRCDIR := $(shell pwd)
NAME := $(shell basename $(SRCDIR))
include ../common/Makefile

115 changes: 115 additions & 0 deletions zarafa/zarafa-6.40.5-rpath.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
Patch by Robert Scheck <robert@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
32 changes: 32 additions & 0 deletions zarafa/zarafa-webaccess.conf
Original file line number Diff line number Diff line change
@@ -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 changes: 2 additions & 0 deletions zarafa/zarafa.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
; Enable Zarafa mapi extension module
extension=mapi.so
100 changes: 100 additions & 0 deletions zarafa/zarafa.logrotate
Original file line number Diff line number Diff line change
@@ -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
}
Loading

0 comments on commit f953669

Please sign in to comment.