aboutsummaryrefslogtreecommitdiff
path: root/network/zarafa
diff options
context:
space:
mode:
authorNiels Horn <niels.horn@gmail.com>2010-09-09 20:45:19 -0400
committerdsomero <xgizzmo@slackbuilds.org>2010-09-09 20:45:19 -0400
commit5286d9bfcf992629f2b19a742cd6e0fb2ca5a614 (patch)
tree2cbb78f6084877a3fd3d43f42a285eefdbfa8ecc /network/zarafa
parent5b3f4eb2b1ffb3389f3a9fa53d53bec4e3c9a74d (diff)
network/zarafa: Updated for version 6.40.2.
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'network/zarafa')
-rw-r--r--network/zarafa/README.Slackware31
-rw-r--r--network/zarafa/doinst.sh16
-rw-r--r--network/zarafa/ical2mapi.patch14
-rw-r--r--network/zarafa/testtools.patch32
-rw-r--r--network/zarafa/vmime-zarafa.patch6
-rw-r--r--network/zarafa/zarafa.SlackBuild45
-rw-r--r--network/zarafa/zarafa.info8
7 files changed, 107 insertions, 45 deletions
diff --git a/network/zarafa/README.Slackware b/network/zarafa/README.Slackware
index d86165b9d7791..569141b247fcc 100644
--- a/network/zarafa/README.Slackware
+++ b/network/zarafa/README.Slackware
@@ -23,28 +23,43 @@ You can change the name of the user and password as you please.
----------------------------------
The sample configuration files are installed in /etc/zarafa/
-Thera are files for the server, spooler, gateway, etc.
+There are files for the server, spooler, gateway, etc.
Change at least the file server.cfg to the correct values for your MySQL
server:
- mysql_host (can be localhost is mysql is on the same box)
+ mysql_host (can be localhost if mysql is on the same box)
mysql_user (default is root, not a good idea)
mysql_password
3) Starting and stopping services
---------------------------------
-You can start and stop the zarafa services with the command:
+For all services a /etc/rc.d/rc.zarafa-* script is installed.
+To start a particular service, make the script executable and include a few
+lines in your /etc/rc.d/rc.local and /etc/rc.d/rc.local_shutdown script.
- # zarafa-<service> start | stop
+As an example for the zarafa-server:
-For instance:
+ # chmod +x /etc/rc.d/rc.zarafa-server
- # zarafa-server start
+Include the following lines in /etc/rc.d/rc.local, they will check all
+scripts related to zarafa and start them if the executable bit is set:
-Select the services you need to start and put the commands in
-/etc/rc.d/rc.local & /etc/rc.d/rc.local_shutdown
+ for z in server spooler gateway dagent ical monitor indexer ; do
+ if [ -x /etc/rc.d/rc.zarafa-$z ]; then
+ /etc/rc.d/rc.zarafa-$z start
+ fi
+ done
+
+To stop them at shutting down your server, include these lines in
+/etc/rc.d/rc.local_shutdown:
+
+ for z in indexer monitor ical dagent gateway spooler server ; do
+ if [ -x /etc/rc.d/rc.zarafa-$z ]; then
+ /etc/rc.d/rc.zarafa-$z stop
+ fi
+ done
4) Creating "public store"
--------------------------
diff --git a/network/zarafa/doinst.sh b/network/zarafa/doinst.sh
index a7a54d81e2f5e..ab8d7de91d839 100644
--- a/network/zarafa/doinst.sh
+++ b/network/zarafa/doinst.sh
@@ -11,6 +11,22 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
for cnf in etc/zarafa/*.cfg.new; do
config $cnf
done
+
+for rc in etc/rc.d/rc.zarafa-*.new; do
+ preserve_perms $rc
+done
+
diff --git a/network/zarafa/ical2mapi.patch b/network/zarafa/ical2mapi.patch
deleted file mode 100644
index 4e60671b75712..0000000000000
--- a/network/zarafa/ical2mapi.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- zarafa-6.30.5/ECtools/ECTestTools/ICalTests/ical2mapi.cpp 2009-11-12 20:55:01.000000000 -0200
-+++ zarafa-6.30.5_patched/ECtools/ECTestTools/ICalTests/ical2mapi.cpp 2009-12-12 12:28:15.000000000 -0200
-@@ -178,9 +178,9 @@
- if (readfile(argv[4], &icalstring))
- goto exit;
-
-- CreateICalToMapi(lpInbox, lpAdrBook, &lpICalToMapi);
-+ CreateICalToMapi(lpInbox, lpAdrBook, 0, &lpICalToMapi);
-
-- hr = lpICalToMapi->ParseICal(icalstring, "UTF-8", "UTC", 0); // assume ical file is in utf-8
-+ hr = lpICalToMapi->ParseICal(icalstring, "UTF-8", "UTC", NULL, 0); // assume ical file is in utf-8
- if (FAILED(hr)) {
- cerr << "unable to parse" << endl;
- goto exit;
diff --git a/network/zarafa/testtools.patch b/network/zarafa/testtools.patch
new file mode 100644
index 0000000000000..cf78c7588b9b0
--- /dev/null
+++ b/network/zarafa/testtools.patch
@@ -0,0 +1,32 @@
+--- zarafa-6.40.2/ECtools/ECTestTools/RecurrenceTest/rectest.cpp 2010-08-30 08:01:44.000000000 -0300
++++ zarafa-6.40.2_patched/ECtools/ECTestTools/RecurrenceTest/rectest.cpp 2010-09-04 13:27:42.000000000 -0300
+@@ -79,7 +79,7 @@
+
+ RecurrenceState r;
+
+- hr = r.ParseBlob((char *)strBin.c_str(), strBin.size());
++ hr = r.ParseBlob((char *)strBin.c_str(), strBin.size(), 0);
+
+ if(hr == hrSuccess) {
+ cerr << "Recurrence OK" << std::endl;
+--- zarafa-6.40.2/ECtools/ECTestTools/ICalTests/mapi2ical.cpp 2010-08-30 08:01:44.000000000 -0300
++++ zarafa-6.40.2_patched/ECtools/ECTestTools/ICalTests/mapi2ical.cpp 2010-09-04 13:55:38.000000000 -0300
+@@ -170,7 +170,7 @@
+ goto next;
+
+
+- hr = lpMapiToICal->AddMessage(lpMessage, 0);
++ hr = lpMapiToICal->AddMessage(lpMessage, std::string(), 0);
+ if (hr != hrSuccess) {
+ cerr << "-- broken message!" << stringify(hr, 1) << endl;
+ goto next;
+--- zarafa-6.40.2/ECtools/ECTestTools/ICalTests/Makefile.in 2010-08-30 04:31:48.000000000 -0300
++++ zarafa-6.40.2_patched/ECtools/ECTestTools/ICalTests/Makefile.in 2010-09-04 15:09:39.000000000 -0300
+@@ -272,6 +272,7 @@
+ ${top_builddir}/common/libcommon_mapi.la \
+ ${top_builddir}/common/libcommon_util.la \
+ ${top_builddir}/libicalmapi/libicalmapi.la \
++ ${top_builddir}/libfreebusy/libfreebusy.la \
+ $(PROG_LIBS) $(ICAL_LIBS)
+
+ mapi2ical_SOURCES = mapi2ical.cpp
diff --git a/network/zarafa/vmime-zarafa.patch b/network/zarafa/vmime-zarafa.patch
index 1811338867605..18e00eb0a2604 100644
--- a/network/zarafa/vmime-zarafa.patch
+++ b/network/zarafa/vmime-zarafa.patch
@@ -1,6 +1,6 @@
---- zarafa-6.30.5/configure 2009-11-12 20:28:29.000000000 -0200
-+++ zarafa-6.30.5_patched/configure 2009-12-12 18:27:55.000000000 -0200
-@@ -22494,7 +22494,7 @@
+--- zarafa-6.40.1/configure 2010-08-03 06:42:48.000000000 -0300
++++ zarafa-6.40.1_patched/configure 2010-08-30 23:46:08.000000000 -0300
+@@ -22693,7 +22693,7 @@
_ACEOF
VMIME_CFLAGS=-I$VMIME_PREFIX
diff --git a/network/zarafa/zarafa.SlackBuild b/network/zarafa/zarafa.SlackBuild
index 68e5cf2f1299c..277c5a8a5939b 100644
--- a/network/zarafa/zarafa.SlackBuild
+++ b/network/zarafa/zarafa.SlackBuild
@@ -4,19 +4,17 @@
# an MS Exchange substitute
# Written by Niels Horn <niels.horn@gmail.com>
-# revision date 2010/05/28
+# revision date 2010/09/07
PRGNAM=zarafa
-VERSION=${VERSION:-6.30.14}
+VERSION=${VERSION:-6.40.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
@@ -50,14 +48,13 @@ cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
-# Apply patches to avoid compiling error
-# (note: this is my personal solution / hack, I did not find any answer on
-# the official zarafa forum, although other users reported the same issue.)
-patch -p1 < $CWD/ical2mapi.patch
-
# Apply patch to use "vmime-zarafa" instead of "vmime"
patch -p1 < $CWD/vmime-zarafa.patch
+# Apply patch to solve some problems with the ECTestTools in 6.40.2
+# it seems upstream forgot to adapt them to the new version...
+patch -p1 < $CWD/testtools.patch
+
SLKCFLAGS="$SLKCFLAGS -I/usr/include/vmime-zarafa"
CFLAGS=$SLKCFLAGS \
@@ -69,10 +66,12 @@ CPPFLAGS=$SLKCFLAGS \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --sysconfdir=/etc \
--disable-static \
--with-userscript-prefix=/etc/zarafa/userscripts \
--with-quotatemplate-prefix=/etc/zarafa/quotamails \
--with-vmime-prefix=/usr/include/vmime-zarafa \
+ --with-clucene-lib-prefix=/usr/lib${LIBDIRSUFFIX} \
--build=$ARCH-slackware-linux
make
@@ -84,13 +83,27 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-# Sample configuration files
-mkdir -p $PKG/etc/$PRGNAM
-( cd $PKG/usr/doc/$PRGNAM-$VERSION
- for cnf in *.cfg; do
- mv $cnf $PKG/etc/$PRGNAM/$cnf.new
- done
-)
+# Rename cfg files to .new
+for cfg in $PKG/etc/$PRGNAM/*.cfg; do
+ mv $cfg $cfg.new
+done
+
+# The sample config of zarafa-indexer ends up in the wrong directory somehow...
+mv $PKG/usr/share/doc/zarafa-indexer/example-config/* $PKG/usr/doc/$PRGNAM-$VERSION/example-config/
+rm -rf $PKG/usr/share/doc
+
+# Remove sysconfig files. We don't use them and they only set the collation,
+# which is taken care of in the rc.* scripts as well
+rm -rf $PKG/etc/sysconfig
+
+# Move /etc/init.d scripts to /etc/rc.d with the correct naming
+mkdir -p $PKG/etc/rc.d
+for script in $PKG/etc/init.d/*; do
+ rc=$(basename $script)
+ mv $script $PKG/etc/rc.d/rc.$rc.new
+ chmod -x $PKG/etc/rc.d/rc.$rc.new
+done
+rm -rf $PKG/etc/init.d
# Directory for log file
mkdir -p $PKG/var/log/$PRGNAM
diff --git a/network/zarafa/zarafa.info b/network/zarafa/zarafa.info
index 6eb810f6620d4..3a65f71202e36 100644
--- a/network/zarafa/zarafa.info
+++ b/network/zarafa/zarafa.info
@@ -1,10 +1,10 @@
PRGNAM="zarafa"
-VERSION="6.30.14"
+VERSION="6.40.2"
HOMEPAGE="http://www.zarafa.com/"
-DOWNLOAD="http://download.zarafa.com/zarafa/drupal/ondemand.php?version=6.30.14&src=zarafa-6.30.14"
-MD5SUM="fa3183f71027b8025373b05f27aaf742"
+DOWNLOAD="http://www.nielshorn.net/_download/slackware/source/zarafa-6.40.2.tar.gz"
+MD5SUM="0e297c5b7d4a476806bcc60a86901838"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Niels Horn"
EMAIL="niels.horn@gmail.com"
-APPROVED="rworkman"
+APPROVED="dsomero"