PREIN
/bin/sh
# Try to add user and group 'sympa'
home_s_pw=`cat /etc/passwd|grep "^sympa:" \
| sed -e "s=^sympa:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\):.*=\1="`
if [ "x${home_s_pw}" = "x" ]; then
/usr/sbin/groupadd -f sympa || :
/usr/sbin/useradd -d /home/sympa -m -g sympa -c "Sympa mailing list" sympa || :
elif [ "${home_s_pw}" != "/home/sympa" ]; then
echo "user sympa already exist with a home different from /home/sympa"
exit 1
fi
POSTIN
/bin/sh
# try to install some default configuration files if none exists
#if [ -f /etc/sympa.conf ]; then
# mv /etc/sympa.conf /etc/sympa.conf.rpmorig
#fi
if [ ! -f /etc/sympa.conf ]; then
cat /home/sympa/sample/sympa.conf | \
sed "s=--BIN--=/home/sympa=g" | sed "s=--HOST--=${HOSTNAME}=g" \
> /etc/sympa.conf
chown sympa:sympa /etc/sympa.conf
fi
# try to log sympa
if [ -f /etc/syslog.conf ]; then
if [ `grep -c sympa /etc/syslog.conf` -eq 0 ];then
typeset -i cntlog
cntlog=0
while [ `grep -c local${cntlog} /etc/syslog.conf` -gt 0 ];do cntlog=$[${cntlog+1];done
if [ ${cntlog} -le 9 ];then
echo "# added by sympa-2.4 rpm "$(date) >> /etc/syslog.conf
echo " local${cntlog}.* /var/log/sympa" >> /etc/syslog.conf
fi
fi
fi
# try to add some sample entries in /etc/aliases for sympa
for a_file in /etc/aliases /etc/postfix/aliases; do
if [ -f ${a_file} ]; then
if [ `grep -c sympa ${a_file}` -eq 0 ]; then
cp -f ${a_file} ${a_file}.rpmorig
echo >> ${a_file}
echo "# added by sympa-2.4 rpm "$(date) >> ${a_file}
if [ `grep -c listmaster ${a_file}` -eq 0 ]; then
echo "# listmaster: root" >> ${a_file}
fi
echo "# sympa: \"|/home/sympa/bin/queue 0 sympa\"" >> ${a_file}
echo "# sympa-request: listmaster@${HOSTNAME}" >> ${a_file}
echo "# sympa-owner: listmaster@${HOSTNAME}" >> ${a_file}
echo "" >> ${a_file}
# /usr/bin/newaliases
fi
fi
done
ln -s /home/sympa/sample/helpfile.en /home/sympa/expl/helpfile
ln -s /home/sympa/bin/scenari/subscribe.open_notify /home/sympa/bin/scenari/subscribe.open_notif
# eventually, add queue to sendmail security shell
if [ -d /etc/smrsh ]; then
if [ ! -e /etc/smrsh/queue ]; then
ln -s /home/sympa/bin/queue /etc/smrsh/queue
fi
fi
POSTUN
/bin/sh
if [ ! -d /home/sympa ]; then
/usr/sbin/userdel sympa
/usr/sbin/groupdel sympa
fi
if [ $1 = 0 -a -d /etc/smrsh ]; then
if [ -L /etc/smrsh/queue ]; then
rm -f /etc/smrsh/queue
fi
fi