aboutsummaryrefslogtreecommitdiff
path: root/postgrey/postgrey.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'postgrey/postgrey.SlackBuild')
-rwxr-xr-xpostgrey/postgrey.SlackBuild105
1 files changed, 105 insertions, 0 deletions
diff --git a/postgrey/postgrey.SlackBuild b/postgrey/postgrey.SlackBuild
new file mode 100755
index 00000000..ffd62ae9
--- /dev/null
+++ b/postgrey/postgrey.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+# slackbuild script for mod_fastcgi
+#
+# you'll need the following perl modules to run postgrey:
+#
+# cpan2tgz --install Net::Server IO::Multiplex BerkeleyDB Digest::SHA1
+#
+
+CWD="`pwd`"
+
+if [ -f "/etc/slackbuildrc" ]; then
+ source /etc/slackbuildrc
+fi
+
+if [ -f "~/.slackbuildrc" ]; then
+ source ~/.slackbuildrc
+fi
+
+# default settings
+PACKAGE="postgrey"
+VERSION=${VERSION:=1.27}
+ARCH="noarch"
+BUILD=${BUILD:=1rha}
+TMP=${TMP:=/tmp}
+SRC_DIR=${SRC:=$CWD}
+REPOS=${REPOS:=$TMP}
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://isg.ee.ethz.ch/tools/postgrey/pub/$SRC"
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE-$VERSION
+
+CWD="`pwd`"
+
+mkdir -p $TMP/package-$PACKAGE/$PACKAGE
+cd $TMP/package-$PACKAGE/$PACKAGE
+
+mkdir -p usr/{sbin,bin}
+mkdir -p etc/postfix
+
+cp $CWD/postgrey usr/sbin
+cp $CWD/postgrey_whitelist_clients etc/postfix/postgrey_whitelist_clients.new
+cp $CWD/postgrey_whitelist_recipients etc/postfix/postgrey_whitelist_recipients.new
+cp $CWD/contrib/postgreyreport usr/bin
+
+chmod 755 usr/sbin/postgrey usr/bin/postgreyreport
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+postgrey: postgrey (Postfix Greylisting Policy Server)
+postgrey:
+postgrey: Postgrey is a Postfix policy server that implements greylisting. When
+postgrey: a request for mail delivery is received by Postfix via SMTP, the
+postgrey: triplet CLIENT_IP / SENDER / RECIPIENT is built. If it is the first
+postgrey: time that this triplet is seen, or if the triplet was first seen less
+postgrey: than 10 minutes ago, then the mail gets rejected with a temporary
+postgrey: error. Hopefully, spammers or viruses will not try again later, even
+postgrey: though such behavior is required per RFC.
+postgrey:
+postgrey:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in COPYING Changes README; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+# install script
+echo '( if [ ! -f "etc/postfix/postgrey_whitelist_recipients" ]; then mv etc/postfix/postgrey_whitelist_recipients.new etc/postfix/postgrey_whitelist_recipients; fi )' > install/doinst.sh
+echo '( if [ ! -f "etc/postfix/postgrey_whitelist_clients" ]; then mv etc/postfix/postgrey_whitelist_clients.new etc/postfix/postgrey_whitelist_clients; fi )' >> install/doinst.sh
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+