#!/bin/sh set -e . /usr/share/debconf/confmodule SANED_DEFAULT=/etc/default/saned saned_eh () { echo "saned couldn't start; check your inetd configuration and README.Debian" } # # POSIX-compliant shell function # to check for the existence of a command # Return 0 if found # pathfind() { OLDIFS="$IFS" IFS=: for p in $PATH; do if [ -x "$p/$*" ]; then IFS="$OLDIFS" return 0 fi done IFS="$OLDIFS" return 1 } if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ]; then db_get sane-utils/saned_run RUN_SANED="$RET" db_get sane-utils/saned_scanner_group SANED_IN_SCANNER="$RET" # Add saned service, disabled by default pathfind update-inetd if [ $? = 0 ]; then update-inetd --add "## sane-port\tstream\ttcp\tnowait\tsaned:saned\t/usr/sbin/saned saned" fi # Stop debconf; output to stdout after this point. update-inetd needs debconf. db_stop # Create saned user/group if they do not exist if ! getent passwd | grep -q "^saned:"; then echo "Adding saned group and user..." adduser --home /var/lib/saned --quiet --system --no-create-home --group saned || true fi # Move home from /home/saned to /var/lib/saned (since 1.0.24-6) if getent passwd | grep "^saned:" | grep -q "/home/saned"; then echo "Test for running scanbd" if ps -Af | grep "saned" | grep -q "scanbd"; then echo "Stop scanbd" invoke-rc.d --quiet scanbd stop echo "Move homedir from /home/saned to /var/lib/saned" usermod -d /var/lib/saned saned echo "Start scanbd" invoke-rc.d --quiet scanbd start else echo "Move homedir from /home/saned to /var/lib/saned" usermod -d /var/lib/saned saned fi fi if [ "$SANED_IN_SCANNER" = "true" ]; then adduser --quiet saned scanner else if id saned | grep -q "groups=.*\(scanner\)"; then deluser --quiet saned scanner fi fi if [ -e $SANED_DEFAULT ]; then if [ "$RUN_SANED" = "true" ]; then RUN_SANED=yes else RUN_SANED=no fi sed -e "s/^ *RUN=.*/RUN=$RUN_SANED/" < $SANED_DEFAULT > $SANED_DEFAULT.tmp mv -f $SANED_DEFAULT.tmp $SANED_DEFAULT fi fi #DEBHELPER#