Add a trigger to (un)register SGML/XML catalog entries via xmlcatmgr.

--HG--
extra : convert_revision : 9dec8c8329e79feefdc43664080795d82a558393
This commit is contained in:
Juan RP 2009-03-21 06:53:29 +01:00
parent d5e7f8c5d2
commit 8f8c5de29a
2 changed files with 111 additions and 0 deletions

View file

@ -53,8 +53,30 @@ xbps_write_metadata_scripts_pkg()
#
export PATH="./bin:./sbin:./usr/bin:./usr/sbin"
_EOF
#
# Handle SGML/XML catalog entries via xmlcatmgr.
#
if [ -n "${sgml_catalogs}" ]; then
for catalog in ${sgml_catalogs}; do
sgml_entries="${sgml_entries} CATALOG ${catalog} --"
done
fi
if [ -n "${sgml_entries}" ]; then
echo "export sgml_entries=\"${sgml_entries}\"" >> $tmpf
fi
if [ -n "${xml_catalogs}" ]; then
for catalog in ${xml_catalogs}; do
xml_entries="${xml_entries} nextCatalog ${catalog} --"
done
fi
if [ -n "${xml_entries}" ]; then
echo "export xml_entries=\"${xml_entries}\"" >> $tmpf
fi
echo >> $tmpf
if [ -n "$triggers" ]; then
found=1
echo "case \"\$2\" in" >> $tmpf

89
triggers/xml-catalog Executable file
View file

@ -0,0 +1,89 @@
#!/bin/sh
#
# Registers or unregisters SGML/XML catalog entries, through
# the xmlcatmgr application.
#
# Arguments: $1 = action [run/targets]
# $2 = target [post-install/pre-remove]
# $3 = pkgname
# $4 = version
#
trigger="xml-catalog"
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 for... "
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 "$1" 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
echo "Running $trigger trigger..."
case "$2" in
post-install)
register_entries
;;
pre-remove)
unregister_entries
;;
*)
exit 1
;;
esac
;;
*)
exit 1
;;
esac
exit 0