summaryrefslogtreecommitdiff
path: root/extra/spamassassin/spamassassin.install
diff options
context:
space:
mode:
Diffstat (limited to 'extra/spamassassin/spamassassin.install')
-rw-r--r--extra/spamassassin/spamassassin.install39
1 files changed, 33 insertions, 6 deletions
diff --git a/extra/spamassassin/spamassassin.install b/extra/spamassassin/spamassassin.install
index e43453e97..cca20782d 100644
--- a/extra/spamassassin/spamassassin.install
+++ b/extra/spamassassin/spamassassin.install
@@ -1,11 +1,38 @@
+setup_user() {
+ getent group spamd &>/dev/null || groupadd -g 182 spamd >/dev/null
+ getent passwd spamd &>/dev/null || useradd -u 182 -d /var/lib/spamassassin -g spamd -s /bin/false spamd >/dev/null
+
+ if [[ -d /var/lib/spamassassin ]]; then
+ chown spamd:spamd /var/lib/spamassassin
+ fi
+
+ true
+}
+
post_install() {
- echo "You must run 'sa-update' to install spam rules before use."
+ echo "You must run 'sa-update' to install spam rules before use."
+ setup_user
}
post_upgrade() {
- # Compile rules, if rules have previously been compiled, and it's possible
- if type re2c &>/dev/null && type sa-compile &>/dev/null && [[ -d /var/lib/spamassassin/compiled ]]; then
- echo "Detected compiled rules, running sa-compile..."
- sa-compile > /dev/null 2>&1
-fi
+ setup_user
+ if [ "$(vercmp $2 3.4)" -lt 0 ]; then
+ echo '/var/lib/spamassassin is now owned by the spamd user. spamassassin.service'
+ echo 'will also run under that user. You may need to adjust your setup.'
+ fi
+
+ # Compile rules, if rules have previously been compiled, and it's possible
+ if type re2c &>/dev/null && type sa-compile &>/dev/null && [[ -d /var/lib/spamassassin/compiled ]]; then
+ echo "Detected compiled rules, running sa-compile..."
+ sa-compile > /dev/null 2>&1
+ fi
+
+ true
+}
+
+pre_remove() {
+ getent passwd spamd &>/dev/null && userdel spamd >/dev/null
+ getent group spamd &>/dev/null && groupdel spamd >/dev/null
+ true
}
+