postinst is in erlang-base-hipe 1:20.2.2+dfsg-1ubuntu2.
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 | #! /bin/sh
# postinst script for erlang-base-hipe
#
# 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 /usr/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.
case "$1" in
    abort-upgrade|abort-remove|abort-deconfigure)
    ;;
    configure)
	# Create epmd user
	adduser --quiet --system --group --no-create-home --home /var/run/epmd epmd
    ;;
    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 0
    ;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installmenu/11.1.4ubuntu1
if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
	update-menus
fi
# End automatically added section
# Automatically added by dh_systemd_enable/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if deb-systemd-helper debian-installed 'epmd.service'; then
		# This will only remove masks created by d-s-h on package removal.
		deb-systemd-helper unmask 'epmd.service' >/dev/null || true
		if deb-systemd-helper --quiet was-enabled 'epmd.service'; then
			# Create new symlinks, if any.
			deb-systemd-helper enable 'epmd.service' >/dev/null || true
		fi
	fi
	# Update the statefile to add new symlinks (if any), which need to be cleaned
	# up on purge. Also remove old symlinks.
	deb-systemd-helper update-state 'epmd.service' >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_systemd_enable/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if deb-systemd-helper debian-installed 'epmd.socket'; then
		# This will only remove masks created by d-s-h on package removal.
		deb-systemd-helper unmask 'epmd.socket' >/dev/null || true
		if deb-systemd-helper --quiet was-enabled 'epmd.socket'; then
			# Create new symlinks, if any.
			deb-systemd-helper enable 'epmd.socket' >/dev/null || true
		fi
	fi
	# Update the statefile to add new symlinks (if any), which need to be cleaned
	# up on purge. Also remove old symlinks.
	deb-systemd-helper update-state 'epmd.socket' >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_systemd_start/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -d /run/systemd/system ]; then
		systemctl --system daemon-reload >/dev/null || true
		if [ -n "$2" ]; then
			deb-systemd-invoke try-restart 'epmd.service' 'epmd.socket' >/dev/null || true
		fi
	fi
fi
# End automatically added section
case "$1" in
    configure)
	if [ -z "$2" ] || dpkg --compare-versions "$2" ge-nl "1:10.b.10-3" ; then
	    echo -n "Searching for services which depend on erlang and should be started..."
	    # find all init scripts and packages they belong
	    inits=$(dpkg -S '/etc/init.d/*' 2>/dev/null | sed -e's:/etc/init.d/::')
	    # filter the list of the packages
	    packs=$(echo $inits | sed -e's/:[[:space:]]\+[^[:space:]]*//g' | sed -e's/ /\n/g' | sort -u)
	    # find packages, which depend on erlang
	    packs=$(dpkg -s $packs 2>/dev/null | egrep '^Package:|^Status:|^Depends' | awk '{if ($1 ~ /^Package:/) {package=$2;inst=0} else if ($0 ~ /^Status:.* installed$/) {inst=1} else if ((inst==1) && ($0 ~ /^Depends:.* erlang/)) {print package}}')
	    # construct services list from the packages
	    services=""
	    for p in $packs ; do
		service=$(echo $inits | sed -e's/\([^:]\) /\1\n/g' | awk "/^$p:/ {print \$2}")
		services="$services $service"
	    done
	    services=$(echo $services | tr '\n' ' ' | sed -e's/\(^[[:space:]]*\|[[:space:]]*$\)//g')
	    if [ -z "$services" ] ; then
		echo "none found."
	    else
		echo "found: $services."
		echo "Starting services which depend on erlang"
		rl=$(runlevel | awk '{print $2}')
		failed=""
		for service in $services ; do
		    if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
			idl="invoke-rc.d ${service}"
		    elif [ -f /usr/share/file-rc/rc -o -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" ] ; then
			echo -n "  $service: starting..."
			if $idl start > /dev/null 2>&1 ; then
			    echo "done."
			else
			    echo "failed. ($?)"
			    failed="$failed $service"
			fi
		    fi
		done
		if [ -n "$failed" ] ; then
		    echo "The following services failed to start: $failed."
		    echo
		    echo "You will need to start them manually by running \`invoke-rc.d <service> start'"
		    echo "If the service still fails to start, you may need to file a bug on"
		    echo "\`erlang' package or the service involved."
		else
		    echo "Services started successfully."
		fi
	    fi
	fi
    ;;
esac
exit 0
 |