1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
#!/bin/sh
# postinst script for tpconfig
#
# see: dh_installdeb(1)
set -e
# 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>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
CONFFILE=/etc/default/tpconfig
TEMPLATE=/usr/share/tpconfig/tpconfig.conf
SEDFILE=${CONFFILE}.sed.$$
TMPFILE=${CONFFILE}.tmp.$$
case "$1" in
configure)
. /usr/share/debconf/confmodule || exit 0
# Determine whether the file is under debconf control.
# Otherwise it has been hand-modified by the user and we
# shouldn't change it.
db_get tpconfig/etc-tpconfig-md5 || true
MD5="${RET}"
if [ -e "${CONFFILE}" ]; then
MD5A="$(md5sum < "${CONFFILE}")"
else
MD5A="not-present"
fi
if [ "${MD5}" = "${MD5A}" ]; then
# Get the debconf bindings.
db_get tpconfig/reset_p || true
RESET_P="${RET}"
db_get tpconfig/options || true
OPTIONS="${RET}"
# Generate a sed script to insert the bindings into the
# configuration file.
rm -f ${SEDFILE} || true
echo "s/^RESET_P=\(.*\)$/RESET_P=${RESET_P}/;" > ${SEDFILE}
echo "s/^OPTIONS=\(.*\)$/OPTIONS=\"${OPTIONS}\"/;" >> ${SEDFILE}
# Generate a new copy of the configuration file.
cat ${TEMPLATE} | sed -f ${SEDFILE} > ${TMPFILE}
rm -f ${SEDFILE} || true
# Compare the new file to the old, and overwrite old if
# they are different.
NEWMD5="$(md5sum < ${TMPFILE})"
if [ "${MD5}" = "${NEWMD5}" ]; then
rm -f ${TMPFILE} || true
else
mv -f ${TMPFILE} ${CONFFILE}
db_set tpconfig/etc-tpconfig-md5 "${NEWMD5}" || true
fi
fi
db_stop
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
|