This file is indexed.

postinst is in erlang-base 1:16.b.3-dfsg-1ubuntu2.2.

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
#! /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)
	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 [ -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 \`/etc/init.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
    ;;

    *)
        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


exit 0