preinst is in resolvconf 1.78ubuntu2.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
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 | #!/bin/sh
set -e
MYNAME=resolvconf.preinst
report() { echo "${MYNAME}: $*" ; }
report_err() { report "Error: $*" >&2 ; }
report_warn() { report "Warning: $*" >&2 ; }
report_info() { report "$*" >&2 ; }
is_installed() {
# Same function in preinst, postinst, postrm
[ "$1" ] || return 1
dpkg-query -W -f='${Status}\n' "$1" 2>/dev/null | grep -siq '^[[:alpha:]]\+ [[:alpha:]]\+ installed$' >/dev/null 2>&1
}
### Create run-time directories ###
#
# We create the run-time directories here, in the preinst, so that even if
# resolvconf is run before the postinst runs there is nevertheless a place
# for resolvconf to store data. The latter can occur if resolvconf
# is installed simultaneously with a caching nameserver package whose
# postinst runs resolvconf to add its IP address.
#
case "$1" in
install|upgrade)
# Ensure that /etc/resolvconf exists.
mkdir -p /etc/resolvconf
# Ensure that /run/resolvconf/interface exists.
mkdir -p /run/resolvconf/interface
;;
# abort-upgrade)
# Don't do anything because we don't anything in the postrm on upgrade or on failed-upgrade
# ;;
esac
### Prepare to notify already configured packages of our installation ###
case "$1" in
install)
# Create list of packages that might need to be notified of the installation of resolvconf
if [ -d /usr/lib/resolvconf/dpkg-event.d ] ; then
NOTIFICATION_HOOK_SCRIPTS="$(cd /usr/lib/resolvconf/dpkg-event.d >/dev/null ; run-parts --test .)"
PACKAGES_TO_NOTIFY=""
for SCRPT in $NOTIFICATION_HOOK_SCRIPTS ; do
PKG="${SCRPT#./}"
if is_installed "$PKG" ; then
PACKAGES_TO_NOTIFY="${PACKAGES_TO_NOTIFY:+$PACKAGES_TO_NOTIFY }$PKG"
fi
done
rm -f /run/resolvconf/packages-to-notify
if [ "$PACKAGES_TO_NOTIFY" ] ; then
echo "$PACKAGES_TO_NOTIFY" > /run/resolvconf/packages-to-notify
fi
fi
;;
# upgrade)
# Don't do anything
# ;;
# abort-upgrade)
# Don't do anything because we don't anything in the postrm on upgrade or on failed-upgrade
# ;;
esac
exit 0
|