blob: b30ad0e55212cefc72d63531a1a8ba27886fdabb [file] [log] [blame]
#!/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
#DEBHELPER#
# Local variables:
# mode: shell-script
# tab-width: 4
# indent-tabs-mode: nil
# end: