summaryrefslogtreecommitdiff
path: root/debian/sane-utils.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sane-utils.postinst')
-rw-r--r--debian/sane-utils.postinst54
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/sane-utils.postinst b/debian/sane-utils.postinst
new file mode 100644
index 0000000..45a6701
--- /dev/null
+++ b/debian/sane-utils.postinst
@@ -0,0 +1,54 @@
+#!/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"
+}
+
+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
+ if [ -x /usr/sbin/update-inetd ]; then
+ update-inetd --add "#<off># 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
+
+ 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#
+