preinst is in hplip 3.12.2-1ubuntu3.
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 | #! /bin/sh
# preinst script for hplip
#
# see: dh_installdeb(1)
set -e
rm_udevrule() {
    PKG="$1"
    CONFFILE="$2"
    if [ -e "$CONFFILE" ]; then
        md5sum="$(md5sum "$CONFFILE" | awk '{print $1}')"
        old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKG | sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")"
        if [ "$md5sum" = "$old_md5sum" ]; then
            rm -f "$CONFFILE"
        fi
    fi
}
# summary of how this script can be called:
#        * <new-preinst> `install'
#        * <new-preinst> `install' <old-version>
#        * <new-preinst> `upgrade' <old-version>
#        * <old-preinst> `abort-upgrade' <new-version>
#
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
    upgrade|install|abort-upgrade)
	# Remove symlink, dpkg doesn't like it at all
	if [ -h /usr/share/doc/hplip ]; then
		rm -f /usr/share/doc/hplip
	fi
	# Stop and remove any daemon from old HPLIP installations
	if [ -x /etc/init.d/hplip ]; then
		pkill hpiod || true
		if pgrep hpiod >/dev/null; then sleep 3; pkill -9 hpiod || true; fi
		if pgrep hpiod >/dev/null; then
			echo 'Old HPLIP daemon (hpiod) should have been stopped, but did not.  Please kill manually before hplip can proceed'
		    exit 1
		fi
		rm -fR /etc/init.d/hplip
	        update-rc.d -f hplip remove
	fi
	# Remove obsolete config file for HPLIP startup script
	rm -f /etc/default/hplip
	# Remove obsolete udev rules
	rm_udevrule hplip /etc/udev/rules.d/55-hpmud.rules
	rm_udevrule hplip /etc/udev/rules.d/45-hplip.rules
	rm_udevrule hplip /etc/udev/rules.d/024_hpmud.rules
	rm_udevrule hplip /etc/udev/rules.d/56-hpmud_support.rules
	rm_udevrule hplip /etc/udev/rules.d/z60_hplip.rules
    ;;
    *)
        echo "preinst 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
 |