#!/bin/sh -e
# This script can be called in the following ways:
#
# Before the package is installed:
#	<new-preinst> install
#
# Before removed package is upgraded:
#	<new-preinst> install <old-version>
#
# Before the package is upgraded:
#	<new-preinst> upgrade <old-version>
#
#
# If postrm fails during upgrade or fails on failed upgrade:
#	<old-preinst> abort-upgrade <new-version>


# Disable udevadm from being run during an upgrade, to cause installation
# failures of packages which call udevadm trigger without depending on udev
disable_udevadm()
{
    dpkg-divert --package fake-udev --rename --divert /bin/udevadm.upgrade \
    		--add /bin/udevadm

    cat <<'UDEVADM' > /bin/udevadm
#!/bin/sh

if [ "$1" = "trigger" ]; then
    echo "udevadm trigger is not permitted while udev is unconfigured." 1>&2
    exit 1
fi

if [ "$1" = "settle" ]; then
    echo "udevadm settle is not permitted while udev is unconfigured." 1>&2
    exit 1
fi

exec /bin/bash -c "exec -a \"\$0\" /bin/udevadm.upgrade \"\$@\"" "$0" "$@"
UDEVADM
    chmod +x /bin/udevadm
}


case "$1" in
    install|upgrade)
    	disable_udevadm
	;;

    abort-upgrade)
	;;

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

# Automatically added by dh_installinit
if [ "$1" = install ] || [ "$1" = upgrade ]; then
	if [ -e "/etc/init.d/udev" ] && [ -L "/etc/init.d/udev" ] \
	   && [ $(readlink -f "/etc/init.d/udev") = /lib/init/upstart-job ]
	then
		rm -f "/etc/init.d/udev"
	fi
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = install ] || [ "$1" = upgrade ]; then
	if [ -e "/etc/init.d/udev-finish" ] && [ -L "/etc/init.d/udev-finish" ] \
	   && [ $(readlink -f "/etc/init.d/udev-finish") = /lib/init/upstart-job ]
	then
		rm -f "/etc/init.d/udev-finish"
	fi
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = install ] || [ "$1" = upgrade ]; then
	if [ -e "/etc/init.d/udevtrigger" ] && [ -L "/etc/init.d/udevtrigger" ] \
	   && [ $(readlink -f "/etc/init.d/udevtrigger") = /lib/init/upstart-job ]
	then
		rm -f "/etc/init.d/udevtrigger"
	fi
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = install ] || [ "$1" = upgrade ]; then
	if [ -e "/etc/init.d/udevmonitor" ] && [ -L "/etc/init.d/udevmonitor" ] \
	   && [ $(readlink -f "/etc/init.d/udevmonitor") = /lib/init/upstart-job ]
	then
		rm -f "/etc/init.d/udevmonitor"
	fi
fi
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = install ] || [ "$1" = upgrade ]; then
	if [ -e "/etc/init.d/udev-fallback-graphics" ] && [ -L "/etc/init.d/udev-fallback-graphics" ] \
	   && [ $(readlink -f "/etc/init.d/udev-fallback-graphics") = /lib/init/upstart-job ]
	then
		rm -f "/etc/init.d/udev-fallback-graphics"
	fi
fi
# End automatically added section

exit 0
