This file is indexed.

postinst is in libc6 2.23-0ubuntu10.

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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
#!/bin/sh
set -e
export LC_ALL=C

type=$1
preversion=$2

package_name()
{
    if dpkg --assert-multi-arch 2>/dev/null; then
        echo libc6:${DPKG_MAINTSCRIPT_ARCH}
    else
        echo libc6
    fi
}

# element() is a helper function for file-rc:
element() {
    local element list IFS

    element="$1"

    [ "$2" = "in" ] && shift
    list="$2"
    [ "$list" = "-" ] && return 1
    [ "$list" = "*" ] && return 0

    IFS=","
    set -- $list
    case $element in
	"$1"|"$2"|"$3"|"$4"|"$5"|"$6"|"$7"|"$8"|"$9")
	    return 0
    esac
    return 1
}

# filerc (runlevel, service) returns /etc/init.d/service, if service is
# running in $runlevel:
filerc() {
    local runlevel basename
    runlevel=$1
    basename=$2
    while read LINE
    do
	case $LINE in
	    \#*|"") continue
	esac

	set -- $LINE
	SORT_NO="$1"; STOP="$2"; START="$3"; CMD="$4"
	[ "$CMD" = "/etc/init.d/$basename" ] || continue

	if element "$runlevel" in "$START" || element "S" in "$START"
	then
	    echo "/etc/init.d/$basename"
	    return 0
	fi
    done < /etc/runlevel.conf
    echo ""
}

checkpkgver () {
    local status pkg
    pkg=$1
    status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g')
    if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then
	echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//');
    fi
}

if [ "$type" = "configure" ]
then
    # We don't use a registry anymore, remove the old file
    rm -f /etc/ld.so.hwcappkgs
 
    # /etc/ld.so.nohwcap code:
        # Handle upgrades when libc-opt package has been installed.
    # When a /etc/ld.so.nohwcap file exists, ld.so only use libraries
    # from /lib, and ignore all optimised libraries. This file is
    # inconditionaly created in the preinst script of libc.
 
    # Get the list of optimized packages for a given architecture
    # Before removing a package from this list, make sure it appears
    # in the Conflicts: line of libc.
    case $(dpkg --print-architecture) in
        alpha)
            hwcappkgs="libc6-alphaev67"
            ;;
        i386)
            hwcappkgs="libc6-i686 libc6-xen"
            ;;
        kfreebsd-i386)
            hwcappkgs="libc0.1-i686"
            ;;
        sparc)
            hwcappkgs="libc6-sparcv9 libc6-sparcv9b"
            ;;
    esac
 
    # We check the version between the current installed libc and
    # all optimized packages (on architectures where such packages
    # exists).
    all_upgraded=yes
    if [ -n "$hwcappkgs" ]; then
        for pkg in $hwcappkgs ; do
            ver=$(dpkg-query -l $pkg 2>/dev/null | sed -e '/^[a-z][a-z]\s/!d;/^.[nc]/d;' -e "s/^..\s\+$pkg[0-9a-z:]*\s\+//;s/\s.*//g")
            if [ -n "$ver" ] && [ "$ver" != "2.23-0ubuntu10" ]; then
                all_upgraded=no
            fi
        done
    fi

    # If the versions of all optimized packages are the same as the libc
    # one, we could remove /etc/ld.so.nohwcap. Otherwise, it will be removed
    # when all optimized packages are upgraded or removed.
    if [ "$all_upgraded" = yes ] ; then
        rm -f /etc/ld.so.nohwcap
    fi


    # Load debconf module if available
    if [ -f /usr/share/debconf/confmodule ] ; then
	. /usr/share/debconf/confmodule
    fi

    if [ -n "$preversion" ]; then
	if [ ! -d /var/mail ] && [ ! -L /var/mail ]; then
	    ln -sf spool/mail /var/mail
	fi
	if dpkg --compare-versions "$preversion" lt 2.23; then
	    check=""
	    [ -f /var/run/services.need_restart ] && check=$(cat /var/run/services.need_restart 2>/dev/null)
	    # Change service names back into package names, so that we can
	    # double-check package installation.
	    check=$(echo "$check" | \
	            sed -e's/\bapache2\b/apache2.2-common/g' \
	                -e's/\batd\b/at/g' \
	                -e's/\bdovecot\b/dovecot-common/g' \
	                -e's/\bexim4\b/exim4-base/g' \
	                -e's/\blpd\b/lpr/g' \
	                -e's/\blpd-ppd\b/lpr-ppd/g' \
	                -e's/\bmysql\b/mysql-server/g' \
	                -e's/\bsaslauthd\b/sasl2-bin/g' \
	    )

	    # Check to see which of the services that were running at unpack
	    # time are still around
            # the following substitution processes the check variable
            # and returns results in the services variable
	    # NSS services check: 
	    	    echo -n "Checking for services that may need to be restarted..."
	    # Only get the ones that are installed, and configured
	    check=$(dpkg -s $check 2> /dev/null | egrep '^Package:|^Status:' | awk '{if ($1 ~ /^Package:/) { package=$2 } else if ($0 ~ /^Status: .* installed$/) { print package }}')
	    # some init scripts don't match the package names
	    check=$(echo $check | \
	    	    sed -e's/\bapache2.2-common\b/apache2/g' \
	    	    	-e's/\bat\b/atd/g' \
	    	    	-e's/\bdovecot-common\b/dovecot/g' \
	    	    	-e's/\bexim4-base\b/exim4/g' \
	    	    	-e's/\blpr\b/lpd/g' \
	    	    	-e's/\blpr-ppd\b/lpd-ppd/g' \
	    	    	-e's/\bmysql-server\b/mysql/g' \
	    	    	-e's/\bsasl2-bin\b/saslauthd/g' \
	    )
	    echo
	    echo "Checking init scripts..."
	    rl=$(runlevel | sed 's/.*\ //')
	    for service in $check; do
	    	if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
	    	    invoke-rc.d ${service} status >/dev/null 2>/dev/null && status=0 || status=$?
	    	    if [ "$status" = "0" ] || [ "$status" = "2" ] ; then
	    	    	services="$service $services"
	    	    elif [ "$status" = "100" ] ; then
	    	    	echo "WARNING: init script for $service not found."
	    	    fi
	    	else
	    	    if [ -f /usr/share/file-rc/rc ] || [ -f /usr/lib/file-rc/rc ] && [ -f /etc/runlevel.conf ]; then
	    	    	idl=$(filerc $rl $service)
	    	    else
	    	    	idl=$(ls /etc/rc${rl}.d/S??${service} 2> /dev/null | head -1)
	    	    fi
	    	    if [ -n "$idl" ] && [ -x $idl ]; then
	    	    	services="$service $services"
	    	    fi
	    	fi
	    done

	    # If there are services that we *stopped* in the preinst, don't
	    # forget to restart them now
	    if [ -e /var/run/services.need_start ]; then
		services="$(cat /var/run/services.need_start) $services"
	    fi
	    if [ -n "$services" ]; then
		echo "Restarting services possibly affected by the upgrade:"
		failed=""
		for service in $services; do
		    # We can't just use a generic rewrite here, as it was
		    # samba in wheezy and smbd in jessie, which confuses.
		    if [ "$service" = "samba" ]; then
			if [ -x /etc/init.d/smbd ] || [ -f /etc/init/smbd ]; then
			    service="smbd"
			fi
		    fi
		    if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
			idl="invoke-rc.d ${service}"
			idlopt="restart"
		    elif [ -f /usr/share/file-rc/rc ] || [ -f /usr/lib/file-rc/rc ] && [ -f /etc/runlevel.conf ]; then
			idl=$(filerc $rl $service)
			idlopt="restart"
		    else
			idl=$(ls /etc/rc${rl}.d/S??${service} 2> /dev/null | head -1)
			idlopt="restart"
		    fi
		    echo -n "  $service: restarting..."
		    if $idl $idlopt > /dev/null 2>&1; then
			echo "done."
		    else
			echo "FAILED! ($?)"
			failed="$service $failed"
		    fi
		done
	
		echo
		if [ -n "$failed" ]; then
		    if [ -f /usr/share/debconf/confmodule ] ; then
			db_fset glibc/restart-failed seen false
			db_subst glibc/restart-failed services "$failed"
			if [ "$RELEASE_UPGRADE_MODE" = desktop ]; then
			    db_input medium glibc/restart-failed || true
			else
			    db_input critical glibc/restart-failed || true
			fi
			db_go || true
		    else
			echo "The following services failed to start: $failed"
			echo
			echo "You will need to start these manually by running \`/etc/init.d/<service> start'"
			echo "If the service still fails to start, you may need to file a bug on"
			echo "$(package_name) or the service involved."
			frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'`
			if [ "$frontend" != noninteractive ]; then
			    echo
			    echo -n "Press ENTER to continue: "
			    read foo
			fi
		    fi
		else
		    echo "Services restarted successfully."
		    rm -f /var/run/services.need_start /var/run/services.need_restart
		fi
	
		# Shut down the frontend, to make sure none of the
		# restarted services keep a connection open to it
		if [ -f /usr/share/debconf/confmodule ] ; then
		    db_stop
		fi
	    else
		echo "Nothing to restart."
	    fi
	fi # end upgrading and $preversion lt 2.23
	# give a reboot notification on al upgrades (LP: #1546457)
	if [ -x /usr/share/update-notifier/notify-reboot-required ]; then
	    /usr/share/update-notifier/notify-reboot-required
	fi
    fi # Upgrading

    # Restart init.  Currently handles chroots, systemd and upstart, and
    # assumes anything else is going to not fail at behaving like
    # sysvinit:
    TELINIT=yes
    if ischroot 2>/dev/null; then
        # Don't bother trying to re-exec init from a chroot:
        TELINIT=no
    elif [ -d /run/systemd/system ]; then
        # Skip if systemd is the active PID 1, since systemd doesn't
        # need a reexec for a clean shutdown
        TELINIT=no
    elif [ -x "`which initctl`" ]; then
        UPSTART=$(initctl version 2>/dev/null | awk '/upstart/ {print $3}' | tr -d ')')
        if dpkg --compare-versions "$UPSTART" lt-nl 1.6.1; then
            # This is an old upstart that can't re-exec statefully:
            TELINIT=no
            touch /var/run/init.upgraded
        fi
    fi
    if [ "$TELINIT" = "yes" ]; then
        telinit u 2>/dev/null || true ; sleep 1
    fi
fi

# We now use the multiarch triplet instead of the GNU triplet for the ld.so
# configuration file, in order to keep a stable path. Remove the old file.
case ${DPKG_MAINTSCRIPT_ARCH:-$(dpkg --print-architecture)} in
    hurd-i386)
        dpkg-maintscript-helper rm_conffile /etc/ld.so.conf.d/i486-gnu.conf 2.19-11~ libc0.3:hurd-i386 -- "$@"
        dpkg-maintscript-helper rm_conffile /etc/ld.so.conf.d/i486-gnu-gnu.conf 2.19-11~ libc0.3:hurd-i386 -- "$@"
        ;;
    i386)
        dpkg-maintscript-helper rm_conffile /etc/ld.so.conf.d/i486-linux-gnu.conf 2.19-4~ libc6:i386 -- "$@"
        dpkg-maintscript-helper rm_conffile /etc/ld.so.conf.d/i686-linux-gnu.conf 2.19-13~ libc6:i386 -- "$@"
        ;;
    kfreebsd-i386)
        dpkg-maintscript-helper rm_conffile /etc/ld.so.conf.d/i486-kfreebsd-gnu.conf 2.19-11~ libc0.1:kfreebsd-i386 -- "$@"
        ;;
esac



exit 0