#!/bin/sh set -e umask 022 output_dir="/var/lib/spamassassin/compiled" sa_compile() { OWNER=$(stat -c '%U' /var/lib/spamassassin) GROUP=$(stat -c '%G' /var/lib/spamassassin) if [ -x /usr/bin/re2c -a -x /usr/bin/sa-compile ]; then echo "Running sa-compile (may take a long time)" if [ -d "$output_dir" ]; then rm -rf "$output_dir" fi env -i LANG="$LANG" PATH="$PATH" http_proxy="$http_proxy" \ OWNER="$OWNER" GROUP="$GROUP" \ runuser -u "$OWNER" --group "$GROUP" -- \ /usr/bin/sa-compile --quiet # Fixup perms -- group and other should be able to # read and execute, but never write. Works around # sa-compile's failure to obey umask. if [ -d "$output_dir" ]; then runuser -u $OWNER -- \ chmod -R go-w,go+rX "$output_dir" fi if command -v invoke-rc.d >/dev/null 2>&1; then invoke-rc.d --quiet spamd status > /dev/null && \ invoke-rc.d spamd reload > /dev/null 2>&1 || true else /etc/init.d/spamd reload > /dev/null 2>&1 || true fi fi } if [ "$1" = "configure" ]; then sa_compile fi if [ "$1" = "triggered" ] && [ "$2" = "perl-major-upgrade" ]; then sa_compile fi # Local variables: # mode: shell-script # tab-width: 4 # indent-tabs-mode: nil # end: