summaryrefslogtreecommitdiffstats
path: root/source/n/cyrus-sasl
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/cyrus-sasl')
-rwxr-xr-xsource/n/cyrus-sasl/cyrus-sasl.SlackBuild95
-rw-r--r--source/n/cyrus-sasl/doinst.sh13
-rw-r--r--source/n/cyrus-sasl/rc.saslauthd45
-rw-r--r--source/n/cyrus-sasl/slack-desc19
4 files changed, 172 insertions, 0 deletions
diff --git a/source/n/cyrus-sasl/cyrus-sasl.SlackBuild b/source/n/cyrus-sasl/cyrus-sasl.SlackBuild
new file mode 100755
index 000000000..c4aebb481
--- /dev/null
+++ b/source/n/cyrus-sasl/cyrus-sasl.SlackBuild
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# 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.
+
+VERSION=2.1.23
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-cyrus-sasl
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf cyrus-sasl-$VERSION
+tar xvf $CWD/cyrus-sasl-$VERSION.tar.?z*
+cd cyrus-sasl-$VERSION
+chown -R root:root .
+find . -perm 777 -exec chmod 755 {} \;
+find . -perm 664 -exec chmod 644 {} \;
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-plugindir=/usr/lib${LIBDIRSUFFIX}/sasl2 \
+ --with-configdir=/etc/sasl2 \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-login \
+ --disable-anon \
+ --without-ldap \
+ --with-saslauthd \
+ --with-gdbm \
+ --with-dblib=gdbm
+# How stupid that I need to specify 'sasldir' again for 'make' or else you get
+# the warning "Plugins are being installed into /usr/lib/sasl2, but the library
+# will look for them in /usr/lib64/sasl2" and advised to create a symlink...
+make sasldir=/usr/lib${LIBDIRSUFFIX}/sasl2
+make sasldir=/usr/lib${LIBDIRSUFFIX}/sasl2 install DESTDIR=$PKG
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+mkdir -p $PKG/var/state/saslauthd
+mkdir -p $PKG/etc/rc.d
+zcat $CWD/rc.saslauthd.gz > $PKG/etc/rc.d/rc.saslauthd.new
+# Fix sloppy man page installation:
+rm -r $PKG/usr/man/cat8
+cat saslauthd/saslauthd.mdoc > $PKG/usr/man/man8/saslauthd.8
+gzip -9 $PKG/usr/man/man?/*.?
+mkdir -p $PKG/usr/doc/cyrus-sasl-$VERSION
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README README.andrew \
+ doc \
+ $PKG/usr/doc/cyrus-sasl-$VERSION
+find $PKG/usr/doc/cyrus-sasl-$VERSION -type f -exec chmod 644 {} \;
+rm -f $PKG/usr/doc/cyrus-sasl-$VERSION/doc/*Makefile*
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/cyrus-sasl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/n/cyrus-sasl/doinst.sh b/source/n/cyrus-sasl/doinst.sh
new file mode 100644
index 000000000..a2c1b471f
--- /dev/null
+++ b/source/n/cyrus-sasl/doinst.sh
@@ -0,0 +1,13 @@
+#!/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/rc.d/rc.saslauthd.new
diff --git a/source/n/cyrus-sasl/rc.saslauthd b/source/n/cyrus-sasl/rc.saslauthd
new file mode 100644
index 000000000..8b69a710c
--- /dev/null
+++ b/source/n/cyrus-sasl/rc.saslauthd
@@ -0,0 +1,45 @@
+#!/bin/sh
+# rc.saslauthd: start/stop/restart saslauthd
+#
+# saslauthd is a daemon process that handles plaintext authentication
+# requests on behalf of the SASL library. The CMU Cyrus SASL library
+# is a general purpose authentication library for sever and client
+# applications. It is mostly used to authenticate to mail servers.
+#
+# saslauthd should be started from the system boot scripts when going
+# to multi-user mode. When running against a protected authentication
+# database (e.g. the shadow mechanism), it must be run as the superuser.
+#
+
+saslauthd_start() {
+ # If saslauthd is not running, start it:
+ if [ ! -r /var/state/saslauthd/saslauthd.pid ]; then
+ # Use shadow authentication by default on Slackware:
+ echo "Starting SASL authentication daemon: /usr/sbin/saslauthd -a shadow"
+ /usr/sbin/saslauthd -a shadow
+ fi
+}
+
+saslauthd_stop() {
+ kill `cat /var/state/saslauthd/saslauthd.pid 2> /dev/null` 2> /dev/null
+ sleep 1
+}
+
+saslauthd_restart() {
+ saslauthd_stop
+ saslauthd_start
+}
+
+case "$1" in
+'start')
+ saslauthd_start
+ ;;
+'stop')
+ saslauthd_stop
+ ;;
+'restart')
+ saslauthd_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/source/n/cyrus-sasl/slack-desc b/source/n/cyrus-sasl/slack-desc
new file mode 100644
index 000000000..f437c6a67
--- /dev/null
+++ b/source/n/cyrus-sasl/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------------------------------------------------------|
+cyrus-sasl: cyrus-sasl (Simple Authentication and Security Layer)
+cyrus-sasl:
+cyrus-sasl: This is the Cyrus SASL library. Cyrus SASL is used by mail programs
+cyrus-sasl: on the client or server side to provide authentication and
+cyrus-sasl: authorization services. See RFC 2222 for more information.
+cyrus-sasl:
+cyrus-sasl:
+cyrus-sasl:
+cyrus-sasl:
+cyrus-sasl:
+cyrus-sasl: