This file is indexed.

postinst is in resolvconf 1.69ubuntu1.

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
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/bin/sh
#
# This file is part of the resolvconf package.
#

set -e

. /usr/share/debconf/confmodule

MYNAME=resolvconf.postinst
report() { echo "${MYNAME}: $*" ; }
report_err() { report "Error: $*" >&2 ; }
report_warn() { report "Warning: $*" >&2 ; }
report_info() { report "$*" >&2 ; }

OLD_RUN_DIR=/var/run

is_immutable_file() {
	[ "$1" ] || return 2
	[ -e "$1" ] || return 1
	[ ! -L "$1" ] || return 1
	local ATTR="$(lsattr "$1" 2>/dev/null || :)"
	[ "$ATTR" ] || return 1
	echo "$ATTR" | awk '$1 ~ /i/ { exit 0; }; { exit 1; }'
}

### Deal with obsolete configuration files ###
rm -f /etc/dhcp3/dhclient-enter-hooks.d/resolvconf
[ -f /etc/resolvconf/update.d/bind ] && mv -f /etc/resolvconf/update.d/bind /etc/resolvconf/update.d/bind.dpkg-old

### Create run-time directories and linkify ###
#
# We create the run-time directories here, in the postinst, even though
# we also do so in the preinst, because
# * the system may have rebooted since the preinst ran, causing
#   everything on tmpfses to disappear;
# * multistrap doesn't run the preinst at all.
#
case "$1" in
  configure)
	# Linkify /etc/resolv.conf if appropriate
	db_get resolvconf/linkify-resolvconf
	if [ "$RET" = "true" ] ; then
		if is_immutable_file /etc/resolv.conf ; then
			db_input critical resolvconf/fixing-immutable
			db_go || :
			chattr -i /etc/resolv.conf
		fi

		if [ -f /etc/resolv.conf ] \
		   && [ ! -L /etc/resolv.conf ]
		then
			# Back up original file
			if [ ! -e /etc/resolvconf/resolv.conf.d/original ] ; then
				cp -a /etc/resolv.conf /etc/resolvconf/resolv.conf.d/original
				db_get resolvconf/link-tail-to-original
				if [ "$RET" = "true" ]; then
					ln -s original /etc/resolvconf/resolv.conf.d/tail
				else
					: > /etc/resolvconf/resolv.conf.d/tail
				fi
			else
				cp -a /etc/resolv.conf /etc/resolv.conf.dpkg-old
			fi

			mkdir -p /run/resolvconf/interface

			# Before creating the link, make sure that the original file is
			# at the target of the link.  /sbin/resolvconf will overwrite
			# this when it does an update, of course.
			if [ ! -e /run/resolvconf/resolv.conf ] ; then
				cp -a /etc/resolv.conf /run/resolvconf/resolv.conf
			fi

			# Add the original file to the database so that its contents
			# are included when resolvconf updates.
			# Yes, this is an ugly workaround for the problem that there
			# is no way to obtain nameserver information from interface
			# configurers after they have done their configuration work.
			cp -a /etc/resolv.conf /run/resolvconf/interface/original.resolvconf
		fi

		# Create the link and make sure we don't convert it again on upgrade
		# The link is relative to allow for cp from outside a chroot into a chroot
		# to work without overwriting the file outside the chroot (or failing)
		ln -nsf ../run/resolvconf/resolv.conf /etc/resolv.conf
		db_set resolvconf/linkify-resolvconf false
	fi

	# FHS violation; get rid of it, we use /run directly now.
	if [ -e /etc/resolvconf/run ]; then
		rm -rf /etc/resolvconf/run
	fi
	;;
  # triggered)
	# Don't do anything here
	# ;;
  # abort-upgrade)
	# Don't do anything here since we don't do anything in the prerm on upgrade or on failed-upgrade
	# ;;
  # abort-remove)
	# Don't do anything extra here since we don't deconfigure anything in the prerm on remove
	# ;;
  # abort-deconfigure)
	# Don't do anything extra here since we don't do anything in the prerm on deconfigure
	# ;;
esac

db_stop

### Notify others of our installation ###

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
}

case "$1" in
  configure)
	if [ -f /run/resolvconf/packages-to-notify ] ; then
		PACKAGES_TO_NOTIFY="$(cat /run/resolvconf/packages-to-notify)"
		rm -f /run/resolvconf/packages-to-notify
		for PKG in $PACKAGES_TO_NOTIFY ; do
			if is_installed "$PKG" ; then
				SCRPT="/usr/lib/resolvconf/dpkg-event.d/$PKG"
				if [ -x "$SCRPT" ] ; then
					"$SCRPT" install || :
				fi
			fi
		done
	fi
	;;
  # triggered)
	# Don't do anything
	# ;;
  # abort-upgrade)
	# Don't do anything here since we don't do anything in the prerm on upgrade or on failed-upgrade
	# ;;
  # abort-remove)
	# Don't do anything extra here since we don't deconfigure anything in the prerm on remove
	# ;;
  # abort-deconfigure)
	# Don't do anything extra here since we don't do anything in the prerm on deconfigure
	# ;;
esac

# Automatically added by dh_installinit
if [ -x "/etc/init.d/resolvconf" ]; then
	if [ ! -e "/etc/init/resolvconf.conf" ]; then
		update-rc.d resolvconf defaults >/dev/null
	fi
	invoke-rc.d resolvconf start || exit $?
fi
# End automatically added section
# Automatically added by dh_installinit
update-rc.d -f resolvconf remove >/dev/null || exit $?
# End automatically added section


exit 0