#!/bin/sh
#
# Registers or unregisters SGML/XML catalog entries, through
# the xmlcatmgr application.
#
# Arguments:	$ACTION = [run/targets]
#		$TARGET = [post-install/pre-remove]
#		$PKGNAME
#		$VERSION
#		$UPDATE = [yes/no]
#
ACTION="$1"
TARGET="$2"
PKGNAME="$3"
VERSION="$4"
UPDATE="$5"

export PATH="$PATH:/usr/local/bin"

sgml_catalog=usr/share/sgml/catalog
xml_catalog=usr/share/xml/catalog

register_entries()
{
	if [ -n "${sgml_entries}" ]; then
		echo -n "Registering SGML catalog entries... "
		set -- ${sgml_entries}
		while [ $# -gt 0 ]; do
			xmlcatmgr -sc ${sgml_catalog} add "$1" "$2" "$3"
			shift; shift; shift;
		done
		echo "done."
	fi

	if [ -n "${xml_entries}" ]; then
		echo -n "Registering XML catalog entries... "
		set -- ${xml_entries}
		while [ $# -gt 0 ]; do
			xmlcatmgr -c ${xml_catalog} add "$1" "$2" "$3"
			shift; shift; shift;
		done
		echo "done."
	fi
}

unregister_entries()
{
	if [ -n "${sgml_entries}" ]; then
		echo -n "Unregistering SGML catalog entries... "
		set -- ${sgml_entries}
		while [ $# -gt 0 ]; do
			xmlcatmgr -sc ${sgml_catalog} remove "$1" "$2" \
				2>/dev/null
			shift; shift; shift
		done
		echo "done."
	fi
	if [ -n "${xml_entries}" ]; then
		echo -n "Unregistering XML catalog entries... "
		set -- ${xml_entries}
		while [ $# -gt 0 ]; do
			xmlcatmgr -c ${xml_catalog} remove "$1" "$2" \
				2>/dev/null
			shift; shift; shift
		done
		echo "done."
	fi
}

case "$ACTION" in
targets)
	echo "post-install pre-remove"
	;;
run)
	[ ! -x $xmlcatmgr ] && exit 0
	[ -n "${sgml_entries}" -a ! -f "${sgml_catalog}" ] && exit 0
	[ -n "${xml_entries}" -a ! -f "${xml_catalog}" ] && exit 0

	case "$TARGET" in
	post-install)
		register_entries
		;;
	pre-remove)
		unregister_entries
		;;
	*)
		exit 1
		;;
	esac
	;;
*)
	exit 1
	;;
esac

exit 0
