diff install.bash @ 1:45c8592d5d13

initial version
author carl
date Fri, 10 Mar 2006 10:35:25 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/install.bash	Fri Mar 10 10:35:25 2006 -0800
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+#####################
+# stop the milter if it is already installed
+if [ -f /etc/rc.d/init.d/dnsbl ]; then
+    /etc/rc.d/init.d/dnsbl stop
+    rm -f /etc/rc.d/init.d/dnsbl
+fi
+
+
+#####################
+# build the milter
+# add compiler flags - suggested by Nigel Horne
+g++ -c $CXXFLAGS -pthread dnsbl.cpp scanner.cpp context.cpp tokenizer.cpp
+if [ $? -ne 0 ]; then
+    echo "compiler errors"
+    exit
+fi
+g++ -o dnsbl dnsbl.o scanner.o context.o tokenizer.o /usr/lib/libresolv.a -lmilter -pthread
+if [ $? -ne 0 ]; then
+    echo "linker errors"
+    exit
+fi
+
+
+#####################
+# ensure the user is created
+/usr/bin/getent passwd dnsbl || /usr/sbin/useradd -r -d /etc/dnsbl -M -c "dnsbl pseudo-user" -s /sbin/nologin dnsbl
+# install the milter
+DST=/etc/dnsbl
+mkdir -p $DST
+if [ -f /var/dnsbl/dnsbl.conf ]; then
+    # move the conf files to the new location
+    mv /var/dnsbl/*conf $DST
+    rm /var/dnsbl/dnsbl # remove the old binary
+    rmdir /var/dnsbl
+fi
+CONF=$DST/dnsbl.conf
+if [ -f $CONF ]; then
+    grep '^context' $CONF >/dev/null
+    if [ $? -eq 1 ]; then
+        # config file exists, but it is for the older version
+        # preserve it and start over
+        suf=4.old
+        for i in dnsbl hosts-ignore html-tags tld; do
+            j=$DST/$i.conf
+            if [ -f $j ]; then
+                mv -f $j $j.$suf
+            fi
+        done
+    fi
+fi
+if [ ! -f $CONF ]; then
+    cp dnsbl.conf        $DST
+    cp hosts-ignore.conf $DST
+    cp html-tags.conf    $DST
+    cp tld.conf          $DST
+fi
+if [ ! -f $DST/hosts-ignore.conf ]; then
+    cp hosts-ignore.conf $DST
+fi
+if [ ! -f $DST/html-tags.conf ]; then
+    cp html-tags.conf $DST
+fi
+rm -f $DST/tld.conf     # new tld list
+if [ ! -f $DST/tld.conf ]; then
+    cp tld.conf $DST
+fi
+
+# make the directory for the socket
+mkdir -p          /var/run/dnsbl
+chown dnsbl:dnsbl /var/run/dnsbl
+chmod 700         /var/run/dnsbl
+
+# install the binaries
+mv -f dnsbl /usr/sbin/dnsbl
+cp dnsbl.rc /etc/rc.d/init.d/dnsbl
+chmod 755 /etc/rc.d/init.d/dnsbl
+/sbin/chkconfig --add dnsbl
+/sbin/chkconfig --level 2345 dnsbl on
+/etc/rc.d/init.d/dnsbl start