barbacompta/debian/barbacompta.postinst

47 lines
1.2 KiB
Bash

#! /bin/sh
set -e
NAME=barbacompta
MANAGE_SCRIPT="/usr/bin/$NAME-manage"
case "$1" in
configure)
# make sure the administrative user exists
if ! getent passwd $NAME >/dev/null; then
adduser --disabled-password --quiet --system \
--no-create-home --home /var/lib/$NAME \
--gecos "$NAME software user" --group $NAME
fi
# ensure dirs ownership
chown $NAME:$NAME /var/log/$NAME
chown $NAME:$NAME /var/lib/$NAME/collected-static
chown $NAME:$NAME /var/lib/$NAME/media
# create a secret file
SECRET_FILE=/etc/$NAME/secret
if [ ! -f $SECRET_FILE ]; then
echo -n "Generating Django secret..." >&2
cat /dev/urandom | tr -dc [:alnum:]-_\!\%\^:\; | head -c70 > $SECRET_FILE
chown root:$NAME $SECRET_FILE
chmod 0440 $SECRET_FILE
fi
# populate /var/lib/$NAME/collected-static
su $NAME -p -c "$MANAGE_SCRIPT collectstatic --noinput --link"
;;
reconfigure)
su $NAME -p -c "$MANAGE_SCRIPT collectstatic --noinput --link"
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0