preinst is in binutils-multiarch 2.22-6ubuntu1.
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 | #! /bin/sh
set -e
new_ver=2.22-6ubuntu1; # this version
context=$1; # why to install (install, upgrade, or abort-upgrade)
old_ver=$2; # version being replaced, if any
diversion() {
	local added_ver divertto file
	added_ver=$1
	file=$2
	divertto=${3-$file.single}
	if
		test "$context" = install ||
		dpkg --compare-versions "$old_ver" lt "$added_ver" ||
		dpkg --compare-versions "$new_ver" le "$old_ver"
	then
		dpkg-divert --package binutils-multiarch \
			--add --rename --divert "$divertto" "$file"
	fi
}
for prog in nm objdump objcopy strings strip size \
            ar ranlib addr2line gprof readelf
do
	diversion 2.9.5.0.16-1 "/usr/bin/$prog"
done
 |