aboutsummaryrefslogtreecommitdiffstats
path: root/debian/preinst
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-02-02 23:27:55 +0400
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-02-02 23:27:55 +0400
commit9fb28304cde41c5e3e4bd17daaad715337a6878c (patch)
treedf5c319a2f77b3dd0cd78f1e393dfe93770b0d77 /debian/preinst
parent395bb422be0ff0293a7e6fe435014050950256ce (diff)
downloadrspamd-9fb28304cde41c5e3e4bd17daaad715337a6878c.tar.gz
rspamd-9fb28304cde41c5e3e4bd17daaad715337a6878c.zip
Final update for 0.5.4.
Diffstat (limited to 'debian/preinst')
-rw-r--r--debian/preinst82
1 files changed, 82 insertions, 0 deletions
diff --git a/debian/preinst b/debian/preinst
new file mode 100644
index 000000000..df0404b10
--- /dev/null
+++ b/debian/preinst
@@ -0,0 +1,82 @@
+#!/bin/sh
+# preinst script for rmilter
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <new-preinst> `install'
+# * <new-preinst> `install' <old-version>
+# * <new-preinst> `upgrade' <old-version>
+# * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ install)
+ SERVER_HOME=/var/lib/rspamd
+ SERVER_LOG=/var/log/rspamd
+ SERVER_USER=rspamd
+ SERVER_NAME="Rspamd spam filtering system"
+ SERVER_GROUP=rspamd
+
+ # create user to avoid running server as root
+ # 1. create group if not existing
+ if ! getent group | grep -q "^$SERVER_GROUP:" ; then
+ echo -n "Adding group $SERVER_GROUP.."
+ addgroup --quiet --system $SERVER_GROUP 2>/dev/null ||true
+ echo "..done"
+ fi
+ # 2. create homedir if not existing
+ test -d $SERVER_HOME || mkdir $SERVER_HOME
+ test -d $SERVER_LOG || mkdir $SERVER_LOG
+ # 3. create user if not existing
+ if ! getent passwd | grep -q "^$SERVER_USER:"; then
+ echo -n "Adding system user $SERVER_USER.."
+ adduser --quiet \
+ --system \
+ --ingroup $SERVER_GROUP \
+ --no-create-home \
+ --disabled-password \
+ $SERVER_USER 2>/dev/null || true
+ echo "..done"
+ fi
+ # 4. adjust passwd entry
+ usermod -c "$SERVER_NAME" \
+ -d $SERVER_HOME \
+ -g $SERVER_GROUP \
+ $SERVER_USER
+ # 5. adjust file and directory permissions
+ if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
+ then
+ chown -R $SERVER_USER:$SERVER_GROUP $SERVER_HOME $SERVER_LOG
+ chmod u=rwx,g=rx,o= $SERVER_HOME
+ chmod u=rwx,g=rx,o=rx $SERVER_LOG
+ fi
+ # 6. Add the user to the ADDGROUP group
+ if test -n $ADDGROUP
+ then
+ if ! groups $SERVER_USER | cut -d: -f2 | \
+ grep -qw $SERVER_GROUP; then
+ adduser $SERVER_USER $SERVER_GROUP
+ fi
+ fi
+ ;;
+
+ abort-upgrade|upgrade)
+ ;;
+
+ *)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0