preinst is in gnumeric 1.12.28-1.
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 | #! /bin/sh
set -e
confirm_upgrade=true
case "$1" in
	install|upgrade)
		if [ -z "$2" ]; then
			# if not upgrading then it is all good
			confirm_upgrade=false
		else
			old_upstream=${2%-*}
			if [ "$old_upstream" = "1.12.28" ]; then
				confirm_upgrade=false
			fi
		fi
	;;
	*)
		:
	;;
esac
confirm_upgrade_if_running() {
	local pid gnumeric_running=false
	if ! test -e /usr/share/debconf/confmodule ; then
		# Nothing we can do
		return 0
	fi
	# Check: if there's a gnumeric process running
	for pid in $(pidof gnumeric); do
		local running_exe target_exe
		# Check: if it is not some other random process (e.g.
		# debug gnumeric builtby the user)
		# N.b. when run from a chroot, this can't tell an
		# instance running in the chroot and outside apart
		if ! [ -L "/proc/$pid/exe" ]; then
		    continue
		fi
		# This won't play very well with dpkg diversions
		running_exe="$(readlink -f "/proc/$pid/exe" 2>&1)"
		target_exe="$(readlink -f /usr/bin/gnumeric 2>&1)"
		if [ "$running_exe" = "$target_exe" ]; then
			gnumeric_running=true
		fi
	done
	if ! $gnumeric_running; then
		return 0
	fi
	. /usr/share/debconf/confmodule
	db_version 2.0
	db_settitle gnumeric/existing-process-title
	# Ignore the fact that this question may have been answered on another
	# occasion already
	db_fset gnumeric/existing-process seen false
	# Try hard to get it answered
	db_input high gnumeric/existing-process || true
	db_go
	db_get gnumeric/existing-process
	if [ "$RET" = "false" ] ; then
		# Abort installation of the package
		db_stop
		exit 1
	fi
	db_stop
}
if $confirm_upgrade; then
	confirm_upgrade_if_running
fi
exit 0
 |