HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/lib/dpkg/info/libdebuginfod-common.postinst
#!/bin/bash

set -e

. /usr/share/debconf/confmodule

CONFTEMPLATEPATH="/usr/share/libdebuginfod-common"

# Change a "generic" shell file according to enable/disable
# DEBUGINFOD_URLS according.
#
# - $1 is the shell file name
#
# - $2 is the pattern that we will look for when changing the file.
#   This pattern will also be used to perform the substitution.
#
# - $3 is the action we will perform: set the DEBUGINFOD_URLS
#   variable, or unset it.
#
# By the end of it, the specified shell file will have an extra line
# which either sets DEBUGINFOD_URLS to have its own value, or sets
# DEBUGINFOD_URLS to be empty (i.e., unsets any value).
change_shell_file ()
{
    file="$1"
    pattern="$2"

    if [ "$3" = "set" ]; then
	finalvar='$DEBUGINFOD_URLS'
    else
	finalvar=""
    fi

    # Check whether the last line of the file already starts with
    # ${pattern}.  If it does, then we will perform a sed to replace
    # it according to the action specified.  Otherwise, we will append
    # a last line containing the set/unset.
    if tail -n1 "$file" | grep -q "^$pattern"; then
	sed -i "\$s@${pattern}.*@${pattern}\"${finalvar}\"@" "${file}"
    else
	echo "${pattern}\"${finalvar}\"" >> "${file}"
    fi
}

# Change the .sh file according to an action specified by $1.  It can
# be either "set" (meaning that we will be setting DEBUGINFOD_URLS to
# a valid value), or "unset" (which means that DEBUGINFOD_URLS will be
# empty).
change_sh_file ()
{
    shfile="$1"
    shaction="$2"

    change_shell_file \
	"$shfile" \
	"export DEBUGINFOD_URLS=" \
	"$shaction"
}

# Change the .csh file according to an action specified by $1.  The
# explanation for change_sh_file also applies here.
change_csh_file ()
{
    cshfile="$1"
    cshaction="$2"

    change_shell_file \
	"$cshfile" \
	"setenv DEBUGINFOD_URLS " \
	"$cshaction"
}

case "$1" in
    configure)
	GOT_DEBCONF_ANSWER=0

	for ext in sh csh; do
	    if [ -f "${CONFTEMPLATEPATH}"/debuginfod."${ext}" ]; then
		if [ "$GOT_DEBCONF_ANSWER" -eq 0 ]; then
		    RET="false"
		    if grep -qFx "ID=debian" /etc/os-release; then
			db_get libdebuginfod/usedebiandebuginfod || RET="false"
		    fi

		    if [ "$RET" = "true" ]; then
			action="set"
		    else
			action="unset"
		    fi
		    GOT_DEBCONF_ANSWER=1
		fi

		tmpfile=$(mktemp)
		cat "${CONFTEMPLATEPATH}"/debuginfod."${ext}" > "$tmpfile"
		change_"${ext}"_file "$tmpfile" "$action"

		ucf --three-way --debconf-ok \
		    "$tmpfile" \
		    /etc/profile.d/debuginfod."${ext}"
		ucfr libdebuginfod-common /etc/profile.d/debuginfod."${ext}"
		rm -f "${tmpfile}"
	    fi
	done
	;;

    abort-upgrade|abort-remove|abort-deconfigure)
	;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
	;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.



exit 0