#!/bin/sh

set -e

# DEP17 M18: Duplicate diversion in aliased location /bin.

case "${1}" in
	install)
		for FILE in zcat zcmp zdiff zegrep zfgrep zgrep
		do
			dpkg-divert --package zutils --quiet --add --rename --divert "/usr/bin/${FILE}.gzip" "/usr/bin/${FILE}"
			dpkg-divert --package zutils --quiet --add --rename --divert "/bin/${FILE}.gzip.usr-is-merged" "/bin/${FILE}"
			dpkg-divert --package zutils --quiet --add --rename --divert /usr/share/man/man1/${FILE}.gzip.1.gz /usr/share/man/man1/${FILE}.1.gz
		done
		;;

	upgrade)
		for FILE in zcat zcmp zdiff zegrep zfgrep zgrep
		do
			TRUENAME=$(dpkg-divert --truename "/usr/bin/${FILE}")

			if [ "${TRUENAME}" = "/usr/bin/${FILE}.usr-is-merged" ]
			then
				# gzip.preinst duplicated the diversion for us
				dpkg-divert --package zutils --quiet --remove --no-rename --divert "/usr/bin/${FILE}.usr-is-merged" "/usr/bin/${FILE}"
				dpkg-divert --package zutils --quiet --remove --no-rename "/bin/${FILE}"
				dpkg-divert --package zutils --quiet --add --no-rename --divert "/usr/bin/${FILE}.gzip" "/usr/bin/${FILE}"
				dpkg-divert --package zutils --quiet --add --no-rename --divert "/bin/${FILE}.gzip.usr-is-merged" "/bin/${FILE}"
			elif [ "${TRUENAME}" != "/usr/bin/${FILE}.gzip" ]
			then
				dpkg-divert --package zutils --quiet --add --no-rename --divert "/usr/bin/${FILE}.gzip" "/usr/bin/${FILE}"

				TRUENAME=$(dpkg-divert --truename "/bin/${FILE}")

				if [ "${TRUENAME}" != "/bin/${FILE}.gzip.usr-is-merged" ]
				then
					dpkg-divert --package zutils --quiet --remove --no-rename "/bin/${FILE}"
					dpkg-divert --package zutils --quiet --add --no-rename --divert "/bin/${FILE}.gzip.usr-is-merged" "/bin/${FILE}"
					if [ -e "${DPKG_ROOT}${TRUENAME}" ] || [ -h "${DPKG_ROOT}${TRUENAME}" ]
					then
						mv "${DPKG_ROOT}${TRUENAME}" "${DPKG_ROOT}/bin/${FILE}.gzip.usr-is-merged"
					fi
				fi
			fi
		done
		;;

	abort-upgrade)

		;;

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

#DEBHELPER#

exit 0