1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
#!/bin/bash -e
# postinst script for conserver-server
conf=/etc/conserver/server.conf
localconf=/etc/conserver/server.local
run_as_non_root() {
if ! grep -q '^conservr:' /etc/passwd; then
adduser --system --home /etc/conserver --ingroup dialout \
--disabled-password conservr > /dev/null 2>&1
fi
touch /var/run/conserver.pid
chown -R conservr:adm /var/log/conserver /var/run/conserver.pid
chmod 750 /var/log/conserver
if [ ! -f /etc/conserver/conserver.passwd ]; then
touch /etc/conserver/conserver.passwd
fi
chown conservr:root /etc/conserver/conserver.passwd
chmod 0600 /etc/conserver/conserver.passwd
}
run_as_root() {
touch /var/run/conserver.pid
chown -R root:root /var/log/conserver /var/run/conserver.pid
chmod 750 /var/log/conserver
if [ ! -f /etc/conserver/conserver.passwd ]; then
touch /etc/conserver/conserver.passwd
fi
chown root:root /etc/conserver/conserver.passwd
chmod 0600 /etc/conserver/conserver.passwd
}
case "$1" in
configure)
asroot=
if [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
cf=/etc/conserver/conserver.cf
pf=/etc/conserver/conserver.passwd
db_get conserver-server/upgrade_800_flag
if [ -f $cf -a ! -f "$cf.OLD" -a "$RET" = "true" ]; then
if egrep -q '^[^:#]+:[^:]*:' $cf; then
echo "renaming $cf to $cf.OLD"
mv $cf $cf.OLD
echo "convert $cf.OLD into $cf"
/usr/lib/conserver-server/convert $cf.OLD > $cf
echo "convert $pf, saving old file in $pf.OLD"
perl -p -i.OLD -e \
's/^([^:]+):([^:]+).*/\1:\2/' $pf
fi
fi
db_get conserver-server/run_as_root
if [ "$RET" = "true" ]; then
asroot=1
fi
db_get conserver-server/port
if [ "$RET" ]; then
port="-p $RET"
fi
db_get conserver-server/base_port
if [ "$RET" ]; then
base_port="-b $RET"
fi
db_get conserver-server/listen_address
if [ "$RET" ]; then
listen="-M $RET"
fi
echo "OPTS='$port $base_port $listen'" > $conf
echo "ASROOT=$asroot" >> $conf
fi
if [ ! -f $localconf ]; then
touch $localconf
fi
##########################################################
if [ "$asroot" ]; then
run_as_root
else
run_as_non_root
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
|