summaryrefslogtreecommitdiffstats
path: root/debian/kea-ctrl-agent.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/kea-ctrl-agent.postinst')
-rw-r--r--debian/kea-ctrl-agent.postinst72
1 files changed, 72 insertions, 0 deletions
diff --git a/debian/kea-ctrl-agent.postinst b/debian/kea-ctrl-agent.postinst
new file mode 100644
index 0000000..a3c94af
--- /dev/null
+++ b/debian/kea-ctrl-agent.postinst
@@ -0,0 +1,72 @@
+#!/bin/sh
+# postinst script for kea-ctrl-agent.
+#
+# See: dh_installdeb(1).
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+# Summary of how this script can be called:
+# * <postinst> 'configure' <most-recently-configured-version>
+# * <old-postinst> 'abort-upgrade' <new version>
+# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
+# <new-version>
+# * <postinst> 'abort-remove'
+# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
+# <failed-install-package> <version> 'removing'
+# <conflicting-package> <version>
+# for details, see https://www.debian.org/doc/debian-policy/ or
+# the debian-policy package.
+
+
+case "$1" in
+ configure|reconfigure)
+ api_password=""
+ choice=""
+ pw_file=/etc/kea/kea-api-password
+
+ db_get kea-ctrl-agent/make_a_choice
+ choice="${RET}"
+ RET=""
+
+ case "${choice}" in
+ unconfigured)
+ # do nothing
+ ;;
+ configured_password|configured_random_password)
+ db_get kea-ctrl-agent/kea_api_password
+ api_password="${RET}"
+ ;;
+ *)
+ ;;
+ esac
+
+ if [ -n "${api_password}" ]; then
+ touch "${pw_file}"
+ chmod 0640 "${pw_file}"
+ chgrp _kea "${pw_file}"
+ # no extra \n
+ printf "%s" "${api_password}" > "${pw_file}"
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument '$1'" >&2
+ exit 1
+ ;;
+esac
+
+# forget we ever saw the password
+db_set kea-ctrl-agent/kea_api_password ""
+db_set kea-ctrl-agent/kea_api_password_again ""
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0