summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/milter-greylist/doinst.sh13
-rw-r--r--network/milter-greylist/milter-greylist.SlackBuild11
-rw-r--r--network/milter-greylist/milter-greylist.info4
-rw-r--r--network/milter-greylist/rc.milter-greylist.new83
4 files changed, 101 insertions, 10 deletions
diff --git a/network/milter-greylist/doinst.sh b/network/milter-greylist/doinst.sh
index 0d5a67743a..90e65a9c0f 100644
--- a/network/milter-greylist/doinst.sh
+++ b/network/milter-greylist/doinst.sh
@@ -11,4 +11,15 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-config etc/mail/greylist.conf.new
+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
+}
+
+preserve_perms etc/rc.d/rc.milter-greylist.new
diff --git a/network/milter-greylist/milter-greylist.SlackBuild b/network/milter-greylist/milter-greylist.SlackBuild
index 39b27f5c13..a440fe5877 100644
--- a/network/milter-greylist/milter-greylist.SlackBuild
+++ b/network/milter-greylist/milter-greylist.SlackBuild
@@ -23,7 +23,7 @@
PRGNAM=milter-greylist
VERSION=${VERSION:-4.6.2}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -89,16 +89,13 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
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
-find $PKG -name perllocal.pod \
- -o -name ".packlist" \
- -o -name "*.bs" \
- | xargs rm -f
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-mv $PKG/etc/mail/greylist.conf $PKG/etc/mail/greylist.conf.new
+mkdir -p $PKG/etc/rc.d/
+mv $PKG/etc/mail/greylist.conf $PKG/etc/mail/greylist.conf.example
+cat $CWD/rc.milter-greylist.new > $PKG/etc/rc.d/rc.milter-greylist.new
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/network/milter-greylist/milter-greylist.info b/network/milter-greylist/milter-greylist.info
index a54c94d884..825943d46d 100644
--- a/network/milter-greylist/milter-greylist.info
+++ b/network/milter-greylist/milter-greylist.info
@@ -6,5 +6,5 @@ MD5SUM="8872008db2fc6b93dd9ab8576383fec2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+MAINTAINER="Dave Woodfall"
+EMAIL="dave@tty1.uk"
diff --git a/network/milter-greylist/rc.milter-greylist.new b/network/milter-greylist/rc.milter-greylist.new
new file mode 100644
index 0000000000..5f4ce88cb4
--- /dev/null
+++ b/network/milter-greylist/rc.milter-greylist.new
@@ -0,0 +1,83 @@
+#!/bin/sh
+#
+# Slackware init script for milter-greylist
+
+# Copyright 2018 Dave Woodfall <dave@tty1.uk>
+# 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.
+
+BIN="milter-greylist"
+SOCK="/var/milter-greylist/milter-greylist.sock"
+
+start() {
+ if [ -e "$SOCK" ]; then
+ PID=$(pgrep -x $BIN)
+ if [ -n "$PID" ]; then
+ printf "%s\n" "$BIN is already running with pid $PID"
+ exit 1
+ else
+ printf "%s\n" "Removing stale socket..."
+ rm -vf "$SOCK"
+ fi
+ fi
+ printf "%s\n" "Starting $BIN"
+ $BIN
+ sleep 2
+ PID=$(pgrep -x $BIN)
+ if [ -n "$PID" ]; then
+ printf "%s\n" "$BIN is running with pid $PID"
+ fi
+}
+
+stop() {
+ printf "%s\n" "Stopping $BIN"
+ pkill -x $BIN
+ sleep 2
+ printf "%s\n" "Removing socket..."
+ rm -vf "$SOCK"
+}
+
+status() {
+ PID=$(pgrep -x $BIN)
+ if [ -n "$PID" ]; then
+ printf "%s\n" "$BIN is running with pid $PID"
+ else
+ printf "%s\n" "$BIN is not running"
+ fi
+}
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ sleep 3 # allow some time to dump the db
+ start
+ ;;
+ status)
+ status
+ ;;
+ *)
+ echo Usage: $0 "{start|stop|restart|status}"
+ exit 1
+ ;;
+esac