network/dovecot: Updated for version 1.1.3

This commit is contained in:
Alan Hicks 2010-05-11 22:25:11 +02:00 committed by Robby Workman
parent d11b5ffd11
commit 0ddbdbac18
6 changed files with 53 additions and 62 deletions

View File

@ -1,16 +1,9 @@
This script builds dovecot with support for SSL. As such, you must have 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 openssl installed - openssl-solibs is not enough in itself to meet this
requirement. Additionally, dovecot will be compiled with POP3 support. requirement. Additionally, dovecot will be compiled with POP3 support.
Unfortunately, dovecot does not have a man page at this time, so you'll 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 have to find your documentation elsewhere. A few examples are included
in /usr/doc/dovecot-$VERSION and the dovecot team maintains a wiki that in /usr/doc/dovecot-1.1.3. The dovecot team maintains a wiki that may
may prove useful: http://wiki.dovecot.org. 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!
You should create a dovecot user to run the login processes on your server.

View File

@ -1,15 +1,22 @@
#!/bin/sh
config() { config() {
NEW="$1" NEW="$1"
OLD="`dirname $NEW`/`basename $NEW .new`" OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over: # If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then if [ ! -r $OLD ]; then
mv $NEW $OLD mv $NEW $OLD
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW rm $NEW
fi fi
# Otherwise, we leave the .new copy for the admin to consider... # Otherwise, we leave the .new copy for the admin to consider...
} }
config etc/dovecot-example.conf.new # Keep same perms on rc.dovecot.new:
if [ -e etc/rc.d/rc.dovecot ]; then
cp -a etc/rc.d/rc.dovecot etc/rc.d/rc.dovecot.new.incoming
cat etc/rc.d/rc.dovecot.new > etc/rc.d/rc.dovecot.new.incoming
mv etc/rc.d/rc.dovecot.new.incoming etc/rc.d/rc.dovecot.new
fi
config etc/rc.d/rc.dovecot.new

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# Copyright 2006, Alan Hicks, Lizella, GA # Copyright 2006, Alan Hicks, Lizella, GA
# All rights reserved. # All rights reserved.
# #
@ -19,87 +20,77 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
PRGNAM="dovecot" PRGNAM="dovecot"
VERSION="1.0.3" VERSION="1.1.3"
ARCH=${ARCH:-i486} ARCH=${ARCH:-i486}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=${TAG:-_SBo} TAG=${TAG:-_SBo}
CWD=`pwd` CWD=$(pwd)
TMP=${TMP:-/tmp/SBo} TMP=${TMP:-/tmp/SBo}
PKG="$TMP/pkg-$PRGNAM" PKG="$TMP/pkg-$PRGNAM"
OUTPUT=${OUTPUT:-/tmp} OUTPUT=${OUTPUT:-/tmp}
# Bail if user isn't valid on your system # Bail if user isn't valid on your system
if ! grep ^dovecot: /etc/passwd 2>&1 > /dev/null; then if ! grep -q ^dovecot: /etc/passwd ; then
echo " Must have a dovecot user to run this script." echo " You must have a dovecot user to run this script."
echo " # groupadd -g 202 dovecot" echo " # groupadd -g 202 dovecot"
echo " # useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot" echo " # useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot"
echo " Or something similar." echo " Or something similar."
exit 1 exit 1
fi fi
set -e
if [ "$ARCH" = "i486" ]; then if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686" SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686" SLKCFLAGS="-O2 -march=i686 -mtune=i686"
fi fi
CFLAGS="$SLKCFLAGS" rm -rf $PKG
CXXFLAGS="$SLKCFLAGS"
rm -fr $PKG
mkdir -p $TMP $PKG $OUTPUT mkdir -p $TMP $PKG $OUTPUT
cd $TMP cd $TMP
tar xvzf $CWD/$PRGNAM-$VERSION.tar.gz tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
chmod -R a-s,u+w,go+r-w $PRGNAM-$VERSION
chown -R root:root $PRGNAM-$VERSION
cd $PRGNAM-$VERSION cd $PRGNAM-$VERSION
chmod -R a-s,u+w,go+r-w .
chown -R root:root .
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--sysconfdir=/etc \ --sysconfdir=/etc \
--localstatedir=/var \ --localstatedir=/var \
--docdir=/usr/doc/$PRGNAM-$VERSION \ --docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-header-install \
--with-notify=inotify \ --with-notify=inotify \
--disable-ipv6 \ --disable-ipv6 \
--without-pam \ --without-pam \
--with-pop3d --with-pop3d \
--disable-static \
--build=$ARCH-slackware-linux
make make
make install-strip DESTDIR=$PKG make install-strip DESTDIR=$PKG
mkdir -p $PKG/install $PKG/usr/doc/$PRGNAM-$VERSION $PKG/etc/rc.d mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING COPYING.LGPL COPYING.MIT ChangeLog INSTALL NEWS README TODO \ cp -a AUTHORS COPYING COPYING.LGPL COPYING.MIT ChangeLog INSTALL NEWS \
doc/* $PKG/usr/doc/$PRGNAM-$VERSION/ README TODO doc/* $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/dovecot.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/dovecot.SlackBuild cat $CWD/dovecot.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/dovecot.SlackBuild
# Make sure that the docs have the right ownership and permissions. If
# built by a mortal user, these permissions will be wrong.
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
chmod -R ug+rw,o-w $PKG/usr/doc/$PRGNAM-$VERSION
# Dovecot installs these, but we already copied them above, so bye bye
rm -rf $PKG/usr/share/doc rm -rf $PKG/usr/share/doc
# Remove the Makefile.* from the docs directory # Put the example files with the documentation
rm -f $PKG/usr/doc/$PRGNAM-$VERSION/Makefile* mv $PKG/etc/dovecot-ldap-example.conf $PKG/etc/dovecot-sql-example.conf \
$PKG/usr/doc/$PRGNAM-$VERSION
# Add an init script
mkdir -p $PKG/etc/rc.d
install -m 0755 $CWD/rc.dovecot $PKG/etc/rc.d/rc.dovecot.new
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh 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
# Put the other example files in /usr/doc for the user to consider later.
mv $PKG/etc/dovecot-ldap-example.conf \
$PKG/usr/doc/$PRGNAM-$VERSION/dovecot-ldap-example.conf
mv $PKG/etc/dovecot-sql-example.conf \
$PKG/usr/doc/$PRGNAM-$VERSION/dovecot-sql-example.conf
cd $PKG cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz

View File

@ -1,8 +1,8 @@
PRGNAM="dovecot" PRGNAM="dovecot"
VERSION="1.0.3" VERSION="1.1.3"
HOMEPAGE="http://www.dovecot.org/" HOMEPAGE="http://www.dovecot.org/"
DOWNLOAD="http://dovecot.org/releases/1.0/dovecot-1.0.3.tar.gz" DOWNLOAD="http://dovecot.org/releases/1.1/dovecot-1.1.3.tar.gz"
MD5SUM="1d7cc3c4964789554553e7e4ea3f82b4" MD5SUM="103ff0ffb4bcb37f22c27779553e48bc"
MAINTAINER="Alan Hicks" MAINTAINER="Alan Hicks"
EMAIL="alan@lizella.net" EMAIL="alan@lizella.net"
APPROVED="Alan Hicks,rworkman" APPROVED="rworkman"

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# Copyright 2006, Alan Hicks, Lizella, GA # Copyright 2006, Alan Hicks, Lizella, GA
# All rights reserved. # All rights reserved.
# #
@ -18,8 +19,6 @@
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
dovecot_start() dovecot_start()
{ {
@ -53,3 +52,4 @@ case $1 in
*) *)
echo "usage $0 start|stop|restart" echo "usage $0 start|stop|restart"
esac esac

View File

@ -15,5 +15,5 @@ dovecot: common pitfalls.
dovecot: Dovecot can work with standard mbox and Maildir formats and it's dovecot: Dovecot can work with standard mbox and Maildir formats and it's
dovecot: fully compatible with UW-IMAP and Courier IMAP servers' dovecot: fully compatible with UW-IMAP and Courier IMAP servers'
dovecot: implementation of them, as well as mail clients accessing the dovecot: implementation of them, as well as mail clients accessing the
dovecot: mailboxes directly dovecot: mailboxes directly.
dovecot: Packaged by Alan Hicks <alan@lizella.net> dovecot: