#!/bin/sh set -e oldversion="$2" if [ -f /usr/share/debconf/confmodule ]; then . /usr/share/debconf/confmodule fi case "$1" in configure) adduser --system --quiet --no-create-home --home /nonexistent --group smsd adduser --quiet smsd dialout # Create configuration if it is wanted db_get smstools/configure || true if [ "$RET" = 'true' ]; then TEMPLATE_PATH="/usr/share/smstools/conf-templates" # Register configuration file with ucf ucfr smstools /etc/smsd.conf # Create temp files CONFIG_TEMP="/etc/smsd.conf.new" MODEM="`mktemp`" # Write out temporary global configuration into temp file cat ${TEMPLATE_PATH}/smsd.conf.template > $CONFIG_TEMP db_get smstools/eventhandler || true if [ ! -z "$RET" ]; then EVENTHANDLER="$RET" echo $EVENTHANDLER sed -i "s|@EVENTHANDLER@|$EVENTHANDLER|g" $CONFIG_TEMP sed -i 's|# eventhandler|eventhandler|g' $CONFIG_TEMP fi # Determine which devices we need to configure devices="" for i in $(seq 1 32); do if db_get smstools/modems/devicename$i; then if [ ! -z "$RET" ]; then devices="$devices $i" devicenames="$devicenames $RET" fi fi done # Normalize device lists devices="`echo $devices|sed 's|^ ||g;s| $||g'`" devicenames="`echo $devicenames|sed 's|^ ||g;s| $||g'`" # Update global smsd configuration to contain modems DEVICES="`echo $devicenames|sed 's| |, |g'`" sed -i "s|@DEVICES@|$DEVICES|g" $CONFIG_TEMP # Create configuration for devices for n in $devices do cat ${TEMPLATE_PATH}/smsd.modem.template > $MODEM db_get smstools/modems/devicename$n || true DEVICENAME="$RET" sed -i "s|@DEVICENAME@|$DEVICENAME|g" $MODEM db_get smstools/modems/devicenode$n || true if [ ! "$RET" = 'Other' ] then DEVICENODE="$RET" else db_get smstools/modems/devicenodeother$n || true DEVICENODE="$RET" fi sed -i "s|@DEVICE@|$DEVICENODE|g" $MODEM db_get smstools/modems/deviceinit$n || true if [ -z "$RET" ] then INIT='' sed -i 's|init = |#init = |g' $MODEM else INIT="$RET" fi sed -i "s|@INIT@|$INIT|g" $MODEM db_get smstools/modems/deviceincoming$n || true if [ -z "$RET" ] then INCOMING="yes" else if [ "$RET" = 'true' ] then INCOMING='yes' else INCOMING='no' fi fi sed -i "s|@INCOMING@|$INCOMING|g" $MODEM db_get smstools/modems/devicepin$n || true if [ -z "$RET" ] then PIN='' sed -i 's|pin = |#pin = |g' $MODEM else PIN="$RET" fi sed -i "s|@PIN@|$PIN|g" $MODEM db_get smstools/modems/devicebaudrate$n || true if [ "$RET" = 'Other' ]; then db_get smstools/modems/devicebaudrateother$n || true fi if [ -z "$RET" ] then BAUDRATE='19200' else BAUDRATE="$RET" fi sed -i "s|@BAUDRATE@|$BAUDRATE|g" $MODEM cat $MODEM >> $CONFIG_TEMP rm $MODEM done sed -i "s|Last changed: .*|Last changed: `date`|g" $CONFIG_TEMP if [ -f /etc/smsd.conf ]; then ucf --debconf-ok /etc/smsd.conf.new /etc/smsd.conf rm -f /etc/smsd.conf.new else mv /etc/smsd.conf.new /etc/smsd.conf fi rm -f $MODEM fi if [ -f /var/log/smsd.log ]; then ln -s /var/log/smstools/smsd.log /var/log/smsd.log 2> /dev/null || true mv /var/log/smsd.log /var/log/smstools/smsd.log 2>/dev/null || true fi if [ -d /var/log/smsd_stats ]; then ln -s /var/log/smstools/smsd_stats /var/log/smsd_stats 2> /dev/null || true mv /var/log/smsd_stats /var/log/smstools/smsd_stats 2>/dev/null || true fi # Fix permissions for i in /var/log/smstools; do if ! dpkg-statoverride --list $i >/dev/null 2>&1 ; then dpkg-statoverride --update --add smsd smsd 2755 $i fi done if ! dpkg-statoverride --list /var/log/smstools/smsd_stats >/dev/null 2>&1 ; then dpkg-statoverride --update --add smsd smsd 0755 /var/log/smstools/smsd_stats fi for i in `find /var/spool/sms -type d`; do if ! dpkg-statoverride --list $i >/dev/null 2>&1 ; then dpkg-statoverride --update --add smsd smsd 3775 $i fi done ;; esac # Automatically added by dh_installinit/13.2 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then if [ -x "/etc/init.d/smstools" ]; then update-rc.d smstools defaults >/dev/null if [ -n "$2" ]; then _dh_action=restart else _dh_action=start fi invoke-rc.d --skip-systemd-native smstools $_dh_action || exit 1 fi fi # End automatically added section