mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
office/SOGo: Added (open source groupware).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
parent
0b5f135aa8
commit
995510e0b9
7 changed files with 331 additions and 0 deletions
22
office/SOGo/README
Normal file
22
office/SOGo/README
Normal file
|
@ -0,0 +1,22 @@
|
|||
SOGo is a fully supported and trusted groupware server with a focus on
|
||||
scalability and open standards. SOGo is released under the GNU
|
||||
GPL/LGPL v2 and above.
|
||||
|
||||
SOGo provides a rich AJAX-based Web interface and supports multiple
|
||||
native clients through the use of standard protocols such as CalDAV,
|
||||
CardDAV and GroupDAV, as well as Microsoft ActiveSync.
|
||||
|
||||
SOGo is the missing component of your infrastructure; it sits in the
|
||||
middle of your servers to offer your users a uniform and complete
|
||||
interface to access their information. It has been deployed in
|
||||
production environments where thousands of users are involved.
|
||||
|
||||
Groupname and Username
|
||||
|
||||
You must have the 'sogo' group and user to run this script,
|
||||
for example:
|
||||
|
||||
groupadd -g 356 sogo
|
||||
useradd -u 356 -m -d /var/lib/sogo -s /bin/bash -g 356 sogo
|
||||
|
||||
For some basic setup instructions, check the included 'README.SBo'.
|
13
office/SOGo/README.SBo
Normal file
13
office/SOGo/README.SBo
Normal file
|
@ -0,0 +1,13 @@
|
|||
To start SOGo automatically at system startup, add the following to
|
||||
your /etc/rc.d/rc.local:
|
||||
|
||||
if [ -x /etc/rc.d/rc.sogo ]; then
|
||||
/etc/rc.d/rc.sogo start
|
||||
fi
|
||||
|
||||
To stop sogo automatically at system shutdown, add the following to
|
||||
your /etc/rc.d/rc.local_shutdown:
|
||||
|
||||
if [ -x /etc/rc.d/rc.sogo ]; then
|
||||
/etc/rc.d/rc.sogo stop
|
||||
fi
|
166
office/SOGo/SOGo.SlackBuild
Normal file
166
office/SOGo/SOGo.SlackBuild
Normal file
|
@ -0,0 +1,166 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for SOGo
|
||||
|
||||
# Copyright 2018 Chris Walker Kempner, TX
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of this script must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=SOGo
|
||||
VERSION=${VERSION:-4.0.2}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i586" ]; then
|
||||
SLKCFLAGS="-O2 -march=i586 -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
|
||||
|
||||
PRGUID=356
|
||||
PRGGID=356
|
||||
PRGUSR=${PRGUSR:-sogo}
|
||||
PRGGRP=${PRGGRP:-sogo}
|
||||
|
||||
if [ -z "$(getent passwd $PRGUSR)" -o -z "$(getent group $PRGGRP)" ]; then
|
||||
echo
|
||||
echo "You must have the $PRGUSR user and $PRGGRP group in order to build $PRGNAM."
|
||||
echo
|
||||
echo "Example:"
|
||||
echo " # groupadd -g $PRGGID $PRGGRP"
|
||||
echo " # useradd -u $PRGUID -m -d /var/lib/$PRGUSR -s /bin/bash -g $PRGGRP $PRGUSR"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find -L . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
||||
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
--enable-strip
|
||||
|
||||
make
|
||||
make install DESTDIR=$PKG GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
|
||||
|
||||
# The symbolic links created to libSOGo.so are broken; remove them and create
|
||||
# symbolic links that work
|
||||
( cd $PKG/usr/lib${LIBDIRSUFFIX}/sogo
|
||||
ln -sf ../../lib/GNUstep/Frameworks/SOGo.framework/Versions/Current/sogo/libSOGo.so libSOGo.so
|
||||
ln -sf ../../lib/GNUstep/Frameworks/SOGo.framework/Versions/Current/sogo/libSOGo.so.4 libSOGo.so.4
|
||||
ln -sf ../../lib/GNUstep/Frameworks/SOGo.framework/Versions/Current/sogo/libSOGo.so.4.0.2 libSOGo.so.4.0.2
|
||||
)
|
||||
|
||||
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
mkdir -p $PKG/var/log/sogo $PKG/var/spool/sogo $PKG/var/run/sogo
|
||||
chown $PRGUSR:$PRGGRP $PKG/var/log/sogo $PKG/var/spool/sogo $PKG/var/run/sogo
|
||||
|
||||
# Install daemon script
|
||||
mkdir -p $PKG/etc/rc.d
|
||||
sed -e "s,USER=sogo,USER=$PRGUSR,g" $CWD/rc.sogo > $PKG/etc/rc.d/rc.sogo.new
|
||||
|
||||
# Install crontab files
|
||||
mkdir -p $PKG/etc/cron.d
|
||||
sed -e "s,\s\+sogo\s\+/usr/sbin, /usr/sbin,g" \
|
||||
-e "s,\s\+sogo\s\+/usr/share/doc/sogo, /usr/doc/$PRGNAM-$VERSION,g" \
|
||||
Scripts/sogo.cron > $PKG/etc/cron.d/sogo.new
|
||||
|
||||
mkdir -p $PKG/etc/cron.daily
|
||||
cat Scripts/tmpwatch > $PKG/etc/cron.daily/sogo.new
|
||||
chmod +x $PKG/etc/cron.daily/sogo.new
|
||||
|
||||
# Install logrotate config
|
||||
mkdir -p $PKG/etc/logrotate.d
|
||||
cat Scripts/logrotate > $PKG/etc/logrotate.d/sogo.new
|
||||
|
||||
# Install configuration files
|
||||
mkdir -p $PKG/etc/{sogo,sysconfig}
|
||||
cat Scripts/sogo.conf > $PKG/etc/sogo/sogo.conf.new
|
||||
sed -e "s,USER=sogo,USER=$PRGUSR,g" Scripts/sogo-default > $PKG/etc/sysconfig/sogo.new
|
||||
|
||||
# Install example SOGo Apache configuration files
|
||||
mkdir -p $PKG/etc/httpd/extra
|
||||
cat Apache/SOGo.conf > $PKG/etc/httpd/extra/httpd-sogo.conf.new
|
||||
|
||||
# Install documentation
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a \
|
||||
COPYING.GPL COPYING.LGPL ChangeLog ChangeLog.old NEWS README.md \
|
||||
$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
# Install backup script
|
||||
cat Scripts/sogo-backup.sh > $PKG/usr/doc/$PRGNAM-$VERSION/sogo-backup.sh
|
||||
chmod +x $PKG/usr/doc/$PRGNAM-$VERSION/sogo-backup.sh
|
||||
|
||||
# Install fail2ban configuration files
|
||||
cp -r Scripts/fail2ban $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
|
||||
# Install Thunderbird extension propagation script
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/Thunderbird
|
||||
cat Scripts/updates.php > $PKG/usr/doc/$PRGNAM-$VERSION/Thunderbird/updates.php
|
||||
|
||||
# Install database scripts
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/db
|
||||
cp -a \
|
||||
Scripts/mysql-utf8mb4.sql Scripts/sql-update-*.sh \
|
||||
$PKG/usr/doc/$PRGNAM-$VERSION/db
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
10
office/SOGo/SOGo.info
Normal file
10
office/SOGo/SOGo.info
Normal file
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="SOGo"
|
||||
VERSION="4.0.2"
|
||||
HOMEPAGE="https://sogo.nu/"
|
||||
DOWNLOAD="https://sogo.nu/files/downloads/SOGo/Sources/SOGo-4.0.2.tar.gz"
|
||||
MD5SUM="852fb13d391906e61d3ae4c78f48b80e"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES="SOPE libmemcached"
|
||||
MAINTAINER="Chris Walker"
|
||||
EMAIL="kris240376@gmail.com"
|
31
office/SOGo/doinst.sh
Normal file
31
office/SOGo/doinst.sh
Normal file
|
@ -0,0 +1,31 @@
|
|||
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...
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
config etc/cron.d/sogo.new
|
||||
preserve_perms etc/cron.daily/sogo.new
|
||||
config etc/httpd/extra/httpd-sogo.conf.new
|
||||
config etc/logrotate.d/sogo.new
|
||||
preserve_perms etc/rc.d/rc.sogo.new
|
||||
config etc/sogo/sogo.conf.new
|
||||
config etc/sysconfig/sogo.new
|
70
office/SOGo/rc.sogo
Normal file
70
office/SOGo/rc.sogo
Normal file
|
@ -0,0 +1,70 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# /etc/rc.d/rc.sogo
|
||||
#
|
||||
# Start/stop/restart the SOGo groupware server.
|
||||
#
|
||||
# This script was inspired by the RHEL init.d script present in the
|
||||
# SOGo source Scripts directory.
|
||||
#
|
||||
|
||||
# These values are defaults. You can update the USER and PREFORK values
|
||||
# by making changes to /etc/sysconfig/sogo.
|
||||
USER=sogo
|
||||
PREFORK=3
|
||||
|
||||
PIDFILE=/var/run/sogo/sogo.pid
|
||||
LOGFILE=/var/log/sogo/sogo.log
|
||||
|
||||
if [ -f /etc/sysconfig/sogo ]; then
|
||||
. /etc/sysconfig/sogo
|
||||
fi
|
||||
|
||||
DAEMON_OPTS="-WOWorkersCount $PREFORK -WOPidFile $PIDFILE -WOLogFile $LOGFILE"
|
||||
|
||||
if [ -z "$GNUSTEP_SYSTEM_ROOT" ]; then
|
||||
. /etc/GNUstep/GNUstep.conf
|
||||
. ${GNUSTEP_MAKEFILES}/GNUstep.sh
|
||||
fi
|
||||
|
||||
sogo_start() {
|
||||
pid="$(cat $PIDFILE 2> /dev/null)"
|
||||
if [ -n "$pid" ]; then
|
||||
pid="$(ps --pid ${pid} -o pid=)"
|
||||
if [ ! -n "$pid" ]; then
|
||||
rm -f $PIDFILE
|
||||
su - $USER -c "nohup /usr/sbin/sogod $DAEMON_OPTS >/dev/null 2>&1"
|
||||
echo "Starting SOGo: /usr/sbin/sogod $DAEMON_OPTS"
|
||||
fi
|
||||
else
|
||||
su - $USER -c "nohup /usr/sbin/sogod $DAEMON_OPTS >/dev/null 2>&1"
|
||||
echo "Starting SOGo: /usr/sbin/sogod $DAEMON_OPTS"
|
||||
fi
|
||||
}
|
||||
|
||||
sogo_stop() {
|
||||
pid="$(cat $PIDFILE 2> /dev/null)"
|
||||
if [ -n "$pid" ]; then
|
||||
pid="$(ps --pid ${pid} -o pid=)"
|
||||
if [ -n "$pid" ]; then
|
||||
kill $pid >& /dev/null
|
||||
echo "Stopping SOGo..."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
sogo_start
|
||||
;;
|
||||
stop)
|
||||
sogo_stop
|
||||
;;
|
||||
restart)
|
||||
sogo_stop
|
||||
sleep 2
|
||||
sogo_start
|
||||
;;
|
||||
*)
|
||||
sogo_start
|
||||
esac
|
19
office/SOGo/slack-desc
Normal file
19
office/SOGo/slack-desc
Normal file
|
@ -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 ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
SOGo: SOGo (open source groupware)
|
||||
SOGo:
|
||||
SOGo: SOGo is a fully supported and trusted groupware server with a focus
|
||||
SOGo: on scalability and open standards. SOGo is released under the GNU
|
||||
SOGo: GPL/LGPL v2 and above.
|
||||
SOGo:
|
||||
SOGo: SOGo provides a rich AJAX-based Web interface and supports multiple
|
||||
SOGo: native clients through the use of standard protocols such as CalDAV,
|
||||
SOGo: CardDAV and GroupDAV, as well as Microsoft ActiveSync.
|
||||
SOGo:
|
||||
SOGo: Homepage: https://sogo.nu
|
Loading…
Reference in a new issue