PREIN
/bin/sh
__groupadd() { shift; /usr/sbin/groupadd "$@"; }; __groupadd 27 -r ejabberd &>/dev/null || :
__useradd() { shift; /usr/sbin/useradd "$@"; }; __useradd 27 -r -s /sbin/nologin -d /var/lib/ejabberd -M \
-c 'ejabberd' -g ejabberd ejabberd &>/dev/null || :
if [ $1 -gt 1 ]; then
# we should backup DB in every upgrade
if ejabberdctl status >/dev/null ; then
# Use timestamp to make database restoring easier
TIME=$(date +%Y-%m-%dT%H:%M:%S)
BACKUPDIR=$(mktemp -d -p /var/tmp/ ejabberd-$TIME.XXXXXX)
chown ejabberd:ejabberd $BACKUPDIR
BACKUP=$BACKUPDIR/ejabberd-database
ejabberdctl backup $BACKUP
# Change ownership to root:root because ejabberd user might be
# removed on package removal.
chown -R root:root $BACKUPDIR
chmod 700 $BACKUPDIR
echo
echo The ejabberd database has been backed up to $BACKUP.
echo
fi
# fix cookie path (since ver. 2.1.0 cookie stored in /var/lib/ejabberd/spool
# rather than in /var/lib/ejabberd
if [ -f /var/lib/ejabberd/.erlang.cookie ]; then
cp -pu /var/lib/ejabberd/{,spool/}.erlang.cookie
echo
echo The ejabberd cookie file was moved.
echo Please delete old one from /var/lib/ejabberd/.erlang.cookie
echo
fi
fi
PREUN
/bin/sh
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable ejabberd.service > /dev/null 2>&1 || :
/bin/systemctl stop ejabberd.service > /dev/null 2>&1 || :
fi
POSTIN
/bin/sh
if [ $1 -eq 1 ] ; then
# Initial installation
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
# Create SSL certificate with default values if it doesn't exist
(cd /etc/ejabberd
if [ ! -f ejabberd.pem ]
then
echo "Generating SSL certificate /etc/ejabberd/ejabberd.pem..."
HOSTNAME=$(hostname -s 2>/dev/null || echo "localhost")
DOMAINNAME=$(hostname -d 2>/dev/null || echo "localdomain")
openssl req -new -x509 -days 365 -nodes -out ejabberd.pem \
-keyout ejabberd.pem > /dev/null 2>&1 <<+++
.
.
.
$DOMAINNAME
$HOSTNAME
ejabberd
root@$HOSTNAME.$DOMAINNAME
+++
chown ejabberd:ejabberd ejabberd.pem
chmod 600 ejabberd.pem
fi)
POSTUN
/bin/sh
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
# Package upgrade, not uninstall
/bin/systemctl condrestart ejabberd.service >/dev/null 2>&1 || :
fi