This file is indexed.

prerm is in erlang-base 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
#! /bin/sh
# prerm script for erlang-base
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <prerm> remove
#        * <old-prerm> upgrade <new-version>
#        * <new-prerm> failed-upgrade <old-version>
#        * <conflictor's prerm> remove in-favour <package> <new version>
#        * <deconfigured's prerm> deconfigure in-favour <package being installed> <version> \
#				  removing <conflicting package> <version>
# for details, see /usr/share/doc/debian-policy/

case "$1" in
    remove|upgrade)
	echo -n "Searching for services which depend on erlang and should be stopped..."
	# 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 "Stopping 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: stopping..."
		    if $idl stop > /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 stop: $failed."
	    else
		echo "Services stopped successfully."
	    fi
	fi
    ;;

    failed-upgrade|deconfigure)
    ;;

    *)
        echo "prerm 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_systemd_start/11.1.4ubuntu1
if [ -d /run/systemd/system ] && [ "$1" = remove ]; then
	deb-systemd-invoke stop 'epmd.service' 'epmd.socket' >/dev/null || true
fi
# End automatically added section


case "$1" in
    remove|upgrade)
	echo -n "Killing epmd..."
	if which pgrep >/dev/null ; then
	    pid=$(pgrep epmd | head -1)
	    if [ -z "$pid" ] ; then
		echo "it is not running."
	    else
		if epmd -kill 1>/dev/null 2>&1 || kill $pid 2>/dev/null ; then
		    echo "done."
		else
		    echo "failed."
		fi
	    fi
	else
	    if epmd -kill 1>/dev/null 2>&1 ; then
		echo "done."
	    else
		echo "failed (or it is not running)."
	    fi
	fi
    ;;
esac

exit 0