HEX
Server: Apache/2.4.65 (Debian)
System: Linux 744648315b55 6.8.0-84-generic #84-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 5 22:36:38 UTC 2025 x86_64
User: (1000)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //var/lib/dpkg/info/dash.preinst
#!/bin/sh

set -e

if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 0.5.12-9~; then
	# Upgrading from pre-/usr-move DEP17
	truename=$(dpkg-divert --truename /bin/sh)
	if [ "$truename" != /bin/sh ] &&
		[ "$(dpkg-divert --listpackage /bin/sh)_$truename" != "dash_/bin/sh.distrib" ] &&
		[ "$(dpkg-divert --truename /usr/bin/sh)" = "/usr/bin/sh" ]; then
		# There is a diversion of /bin/sh and it is not our own
		# diversion to /bin/sh.distrib that will be removed in
		# postinst and there is no matching diversion of /usr/bin/sh.
		if [ -f /usr/share/debconf/confmodule ]; then
			. /usr/share/debconf/confmodule
			db_input critical dash/ineffectivediversion || true
			db_go || true
			# We have no other debconf usage in dash, so we can purge rightaway.
			db_purge || true
		else
			# The chances of anyone hitting this branch are very slim.
			# If they do, they will appreciate letting them change their diversion.
			echo "ERROR: Found ineffective diversion of /bin/sh!" >&2
			echo "To keep using alternative default shell, divert /usr/bin/sh instead." >&2
			echo "Aborting upgrade. Resolve the issue and try again." >&2
			exit 1
		fi
	fi
fi



exit 0