This file is indexed.

postinst is in amd64-microcode 3.20180524.1~ubuntu0.14.04.2+really20130710.1.

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
#!/bin/sh
# postinst script for amd64-microcode
#
# 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>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "$1" in
    configure)
	# See Debian bug #716917.  Blacklist all non-LTS/non-Debian kernel versions
	# before kernel 3.4 that don't have all microcode fixes as of 2013-07-17.
	# Only known-bad kernel is 2.6.38.  2.6.32.37 presumed good based on lack of
	# reports by Debian squeeze backport users.
	kversion=$(uname -r)
	if dpkg --compare-versions ${kversion} le 3.4.21 && \
	     { dpkg --compare-versions ${kversion} lt 2.6.32.58 || \
	      { dpkg --compare-versions ${kversion} ge 2.6.33 && dpkg --compare-versions ${kversion} lt 3.0.54 ; } || \
	      { dpkg --compare-versions ${kversion} ge 3.1 && dpkg --compare-versions ${kversion} lt 3.2.35 ; } || \
	      dpkg --compare-versions ${kversion} ge 3.3 ; \
	     }; then
		echo "W: amd64-microcode: unsupported kernel version ${kversion}" >&2
	else
	    grep -q "^vendor_id[[:blank:]]*:[[:blank:]]*.*AuthenticAMD" /proc/cpuinfo && {
		# try to load the microcode module just in case.  If we succeed,
		# it will trigger a microcode update by itself
		if modprobe -q --first-time microcode ; then
		    echo "Updating microcode on all online processors..." >&2
		else
		    # we have to trigger the microcode update manually
		    if [ -e /sys/devices/system/cpu/microcode/reload ] ; then
			echo "Updating microcode on all online processors..." >&2
			echo 1 > /sys/devices/system/cpu/microcode/reload || {
			    echo "Kernel reported failure while updating microcode!" >&2
			}
		    else
			# Try all online processors, broken kernels need this,
			# fixed kernels will accept it only on the BSP and update
			# all processors anyway, and -EINVAL all others... but we
			# don't know which one is the BSP, so we try all of them
			# and hide errors, the kernel will log any real problem.
			echo "Using per-core interface to update microcode on online processors..." >&2
			find /sys/devices/system/cpu -noleaf -type f -path '/sys/devices/system/cpu/cpu*/microcode/reload' | \
			    while read i ; do echo -n 1 2>/dev/null >"$i" || true ; done
		    fi
		fi
	    }
	    # do it like udev and firmware-linux-*
	    if [ -x /usr/sbin/update-initramfs -a -e /etc/initramfs-tools/initramfs.conf ] ; then
		    update-initramfs -u
	    fi
	fi
    ;;

    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.



exit 0