HEX
Server: nginx/1.29.3
System: Linux mail.sarafai.ru 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: dl,exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /var/lib/dpkg/info/erlang-base.postinst
#! /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 /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/13.11.4
if [ "$1" = "configure" ] && [ -x "`command -v update-menus`" ] && [ -x "$DPKG_ROOT`command -v update-menus`" ]; then
	update-menus
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.11.4
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	# The following line should be removed in trixie or trixie+1
	deb-systemd-helper unmask 'epmd.service' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'epmd.service'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'epmd.service' >/dev/null || true
	else
		# 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
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.11.4
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	# The following line should be removed in trixie or trixie+1
	deb-systemd-helper unmask 'epmd.socket' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'epmd.socket'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'epmd.socket' >/dev/null || true
	else
		# 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
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.11.4
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
			_dh_action=restart
		else
			_dh_action=start
		fi
		deb-systemd-invoke $_dh_action 'epmd.service' 'epmd.socket' >/dev/null || true
	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... "
            if command -v systemctl >/dev/null && systemctl >/dev/null 2>&1 ; then
                help="systemctl start <service>"
                # native service files:
                services1=$(systemctl list-unit-files '*.s*' | grep -P '(static|enabled)' | cut -f 1 -d ' ' | sed -e's:^:/lib/systemd/*/:')
                # generated service files:
                services2=$(systemctl list-unit-files '*.s*' | grep -P '(generated)' | cut -f 1 -d ' ' | sed -e's:^\(.*\)\..*:/etc/init.d/\1:')
            
                # find the packages they belong
                inits=$(dpkg -S $services1 $services2 2>/dev/null | sed -e's:/.*/::')
            else
                help="invoke-rc.d <service> start"
                # find all init scripts and packages they belong
                inits=$(dpkg -S '/etc/init.d/*' 2>/dev/null | sed -e's:/etc/init.d/::')
            fi
            # 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"
                failed=""
                rl=$(runlevel | awk '{print $2}')
                for service in $services ; do
                    if command -v systemctl >/dev/null && systemctl >/dev/null 2>&1 ; then
                        echo -n "  $service: starting... "
                        if systemctl start $service 2>/dev/null
                        then
                            echo "done."
                        else
                            echo "failed. ($?)"
                            failed="$failed $service"
                        fi
                    else
                        if command -v invoke-rc.d >/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
                    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 \`help'"
                    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