diff options
author | Niels Horn <niels.horn@gmail.com> | 2010-06-12 15:36:19 -0500 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2010-06-12 22:14:27 -0500 |
commit | 9cdde68e969edc7714bde53bf82b8a86f57700ca (patch) | |
tree | dfa8cb0278a316ef853d7b7464049a686d8c665d /network/zarafa | |
parent | 8ccce2733043f24f7fb87f6c1fe47f8674b24b22 (diff) |
network/zarafa: Added (MS Exchange Server replacement)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'network/zarafa')
-rw-r--r-- | network/zarafa/README | 6 | ||||
-rw-r--r-- | network/zarafa/README.Slackware | 66 | ||||
-rw-r--r-- | network/zarafa/doinst.sh | 16 | ||||
-rw-r--r-- | network/zarafa/ical2mapi.patch | 14 | ||||
-rw-r--r-- | network/zarafa/slack-desc | 19 | ||||
-rw-r--r-- | network/zarafa/vmime-zarafa.patch | 11 | ||||
-rw-r--r-- | network/zarafa/zarafa.SlackBuild | 107 | ||||
-rw-r--r-- | network/zarafa/zarafa.info | 10 |
8 files changed, 249 insertions, 0 deletions
diff --git a/network/zarafa/README b/network/zarafa/README new file mode 100644 index 0000000000000..341b2b2dc2858 --- /dev/null +++ b/network/zarafa/README @@ -0,0 +1,6 @@ +Zarafa offers a replacement for MS Exchange Server, providing +Outlook "Look & Feel" webaccess, integration with Linux mailservers, +mobile phone support, Outlook sharing (100% MAPI) etc. + +This requires libvmime-zarafa, and zarafa-webaccess-ajax is needed +at runtime. diff --git a/network/zarafa/README.Slackware b/network/zarafa/README.Slackware new file mode 100644 index 0000000000000..d86165b9d7791 --- /dev/null +++ b/network/zarafa/README.Slackware @@ -0,0 +1,66 @@ +README.Slackware +================ + +This document gives some basic instructions on setting up Zarafa on Slackware + +1) Prepare your MySQL server +---------------------------- + +On your MySQL server, enter with an account with full privileges: + + # mysql -u <your_account> -p<your_password> + +In MySQL, create the database and user: + + mysql> create database zarafa; + mysql> grant all privileges on zarafa.* to zarafa@<your_server> identified by 'zarafa'; + mysql> flush privileges; + mysql> quit + +You can change the name of the user and password as you please. + +2) Edit Zarafa configuration files +---------------------------------- + +The sample configuration files are installed in /etc/zarafa/ +Thera 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_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: + + # zarafa-<service> start | stop + +For instance: + + # zarafa-server start + +Select the services you need to start and put the commands in +/etc/rc.d/rc.local & /etc/rc.d/rc.local_shutdown + +4) Creating "public store" +-------------------------- + +To create the public store of shared folders, use: + + # zarafa-admin -s + +5) Where to go from here +------------------------ + +With these steps, you have concluded the basic setup of Zarafa. For web +access, install the zarafa-webaccess-ajax package. + +More documentation is available in the man-pages and from the Zarafa site: +http://www.zarafa.com/content/documentation +On this site, several manuals (including some translations) and whitepapers +can be downloaded. + diff --git a/network/zarafa/doinst.sh b/network/zarafa/doinst.sh new file mode 100644 index 0000000000000..a7a54d81e2f5e --- /dev/null +++ b/network/zarafa/doinst.sh @@ -0,0 +1,16 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +for cnf in etc/zarafa/*.cfg.new; do + config $cnf +done diff --git a/network/zarafa/ical2mapi.patch b/network/zarafa/ical2mapi.patch new file mode 100644 index 0000000000000..4e60671b75712 --- /dev/null +++ b/network/zarafa/ical2mapi.patch @@ -0,0 +1,14 @@ +--- 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/slack-desc b/network/zarafa/slack-desc new file mode 100644 index 0000000000000..2a3f5c465f0c9 --- /dev/null +++ b/network/zarafa/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +zarafa: zarafa (MS Exchange replacement) +zarafa: +zarafa: Zarafa offers a replacement for MS Exchange Server, providing +zarafa: Outlook "Look & Feel" webaccess, integration with Linux mailservers, +zarafa: mobile phone support, Outlook sharing (100% MAPI) etc. +zarafa: +zarafa: http://www.zarafa.com/ +zarafa: +zarafa: +zarafa: +zarafa: diff --git a/network/zarafa/vmime-zarafa.patch b/network/zarafa/vmime-zarafa.patch new file mode 100644 index 0000000000000..1811338867605 --- /dev/null +++ b/network/zarafa/vmime-zarafa.patch @@ -0,0 +1,11 @@ +--- 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 @@ + _ACEOF + + VMIME_CFLAGS=-I$VMIME_PREFIX +- VMIME_LIBS="-lvmime" ++ VMIME_LIBS="-lvmime-zarafa" + + else + diff --git a/network/zarafa/zarafa.SlackBuild b/network/zarafa/zarafa.SlackBuild new file mode 100644 index 0000000000000..68e5cf2f1299c --- /dev/null +++ b/network/zarafa/zarafa.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/sh + +# Slackware build script for zarafa: +# an MS Exchange substitute + +# Written by Niels Horn <niels.horn@gmail.com> +# revision date 2010/05/28 + +PRGNAM=zarafa +VERSION=${VERSION:-6.30.14} +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 + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $TMP/$PRGNAM-$VERSION $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +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 + +SLKCFLAGS="$SLKCFLAGS -I/usr/include/vmime-zarafa" + +CFLAGS=$SLKCFLAGS \ +CXXFLAGS=$SLKCFLAGS \ +CPPFLAGS=$SLKCFLAGS \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-static \ + --with-userscript-prefix=/etc/zarafa/userscripts \ + --with-quotatemplate-prefix=/etc/zarafa/quotamails \ + --with-vmime-prefix=/usr/include/vmime-zarafa \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +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 +) + +# Directory for log file +mkdir -p $PKG/var/log/$PRGNAM + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/README.Slackware > $PKG/usr/doc/$PRGNAM-$VERSION/README.Slackware + +mkdir -p $PKG/install +cat $CWD/doinst.sh > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/network/zarafa/zarafa.info b/network/zarafa/zarafa.info new file mode 100644 index 0000000000000..6eb810f6620d4 --- /dev/null +++ b/network/zarafa/zarafa.info @@ -0,0 +1,10 @@ +PRGNAM="zarafa" +VERSION="6.30.14" +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_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Niels Horn" +EMAIL="niels.horn@gmail.com" +APPROVED="rworkman" |