#!/bin/sh set -e . /usr/share/debconf/confmodule db_capb backup parse_default() { case `sed -n 's/^run_watchdog=//p' "$@"` in 0) db_set watchdog/run false;; 1) db_set watchdog/run true;; *) return 1;; esac case `sed -n 's/^run_wd_keepalive=//p' "$@"` in 0) db_set watchdog/run_keepalive false;; 1) db_set watchdog/run_keepalive true;; *) return 1;; esac db_set watchdog/module `sed -n 's/^watchdog_module="\(.*\)"/\1/p' "$@"` } if [ -f /etc/default/watchdog ] then # Load previous value (may have been changed manually). parse_default /etc/default/watchdog || true fi db_input medium watchdog/module || true db_go # Use a state machine to allow jumping back. state=1 while true do case $state in 1) db_input medium watchdog/run || true ;; 2) db_get watchdog/run [ "$RET" = false ] || db_input medium watchdog/restart || true ;; 3) db_get watchdog/restart [ "$RET" = false ] || db_input medium watchdog/run_keepalive || true ;; *) break ;; esac if db_go then state=$(($state + 1)) else state=$(($state - 1)) fi done # Check if the user backed up from the first question. [ $state -gt 0 ] || exit 10