network/dovecot: Initial import

This commit is contained in:
Alan Hicks 2010-05-11 15:01:27 +02:00 committed by Robby Workman
parent f64750f981
commit 744f4f4f4e
6 changed files with 205 additions and 0 deletions

16
network/dovecot/README Normal file
View file

@ -0,0 +1,16 @@
This script builds dovecot with support for SSL. As such, you must have
openssl installed. openssl-solibs is not enough in itself to meet this
requirement. Additionally, dovecot will be compiled with POP3 support.
Unfortunately, dovecot does not have a man page at this time, so you'll
have to find your documentation elsewhere. A few examples are included
in /usr/doc/dovecot-$VERSION and the dovecot team maintains a wiki that
may prove useful: http://wiki.dovecot.org.
You should probably create a dovecot user to run the login processes on
your server. The build script will exit with an error if you don't have
this user on your system. You should ensure dovecot has a low UID, such
as 91 (this is a low, unused UID on a stock Slackware-11.0 box).
If you have any questions or comments about this script you are free to
contact me via e-mail at <alan@lizella.net>. Thanks!

15
network/dovecot/doinst.sh Normal file
View file

@ -0,0 +1,15 @@
#!/bin/sh
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...
}
config etc/dovecot-example.conf.new

View file

@ -0,0 +1,92 @@
#!/bin/bash
# Copyright 2006, Alan Hicks, Lizella, GA
# 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.
set -e
PRGNAM="dovecot"
VERSION="1.0.0"
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG="$TMP/pkg-$PRGNAM"
OUTPUT=${OUTPUT:-/tmp}
# Bail if user isn't valid on your system
if ! grep ^dovecot: /etc/passwd 2>&1 > /dev/null; then
echo " Must have a dovecot user to run this script."
echo " # groupadd -g 202 dovecot"
echo " # useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot"
echo " Or something similar."
exit 1
fi
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi
CFLAGS="$SLKCFLAGS"
CXXFLAGS="$SLKCFLAGS"
rm -fr $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
tar xvzf $CWD/$PRGNAM-$VERSION.tar.gz
chown -R root:root $PRGNAM-$VERSION
chmod -R a-s,u+w,go+r-w $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-ipv6 \
--without-pam \
--with-pop3d
make
make install-strip DESTDIR=$PKG
mkdir -p $PKG/install $PKG/usr/doc/$PRGNAM-$VERSION $PKG/etc/rc.d
cp -a AUTHORS COPYING COPYING.LGPL COPYING.MIT ChangeLog INSTALL NEWS README \
TODO doc/* $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/dovecot.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/dovecot.SlackBuild
# Dovecot installs these, but we already copied them above, so bye bye
rm -rf $PKG/usr/share/doc
# Remove the Makefile.* from the docs directory
rm -f $PKG/usr/doc/$PRGNAM-$VERSION/Makefile*
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
install -m 0644 $CWD/rc.dovecot $PKG/etc/rc.d/rc.dovecot
# Let's not kill the existing config file (even if it is just an example)
mv $PKG/etc/dovecot-example.conf $PKG/etc/dovecot-example.conf.new
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View file

@ -0,0 +1,8 @@
PRGNAM="dovecot"
VERSION="1.0.0"
HOMEPAGE="http://www.dovecot.org/"
DOWNLOAD="http://www.dovecot.org/releases/dovecot-1.0.0.tar.gz"
MD5SUM="65ccc71e66c495c536d8fb8a7ae39bb3"
MAINTAINER="Alan Hicks"
EMAIL="alan@lizella.net"
APPROVED="rworkman"

View file

@ -0,0 +1,55 @@
#!/bin/bash
# Copyright 2006, Alan Hicks, Lizella, GA
# 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.
#
dovecot_start()
{
echo "Firing up dovecot."
dovecot
}
dovecot_stop()
{
echo "Shutting down dovecot."
killall dovecot
}
dovecot_restart()
{
dovecot_stop
sleep 5 # Give it time to clean-up if it needs it.
dovecot_start
}
case $1 in
'start')
dovecot_start
;;
'stop')
dovecot_stop
;;
'restart')
dovecot_restart
;;
*)
echo "usage $0 start|stop|restart"
esac

View 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 ':'.
|-----handy-ruler-----------------------------------------------------|
dovecot: Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like
dovecot: systems, written with security primarily in mind. Although it's
dovecot: written in C, it uses several coding techniques to avoid most of the
dovecot: common pitfalls.
dovecot:
dovecot: Dovecot can work with standard mbox and Maildir formats and it's
dovecot: fully compatible with UW-IMAP and Courier IMAP servers'
dovecot: implementation of them, as well as mail clients accessing the
dovecot: mailboxes directly
dovecot:
dovecot: Packaged by Alan Hicks <alan@lizella.net>