This file is indexed.

postinst is in erlang-base 1:18.3-dfsg-1ubuntu3.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
 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
#! /bin/sh
# postinst script for erlang-base
#
# 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
if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
	update-menus
fi
# End automatically added section
# Automatically added by dh_systemd_enable
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
# End automatically added section
# Automatically added by dh_systemd_enable
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
# 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