SYS_CATALOG='etc/xml/catalog' # arg 1: the new package version pre_install() { /bin/true } # arg 1: the new package version post_install() { add_catalog "${1%-*}" } # arg 1: the new package version # arg 2: the old package version pre_upgrade() { remove_catalog "${2%-*}" # docbook-xml no longer contains etc/xml/catalog, # backup the catalog to restore it in post_upgrade(). if [ $(vercmp 4.5-1 $2) -gt 0 ]; then cp etc/xml/catalog{,.backup} fi } # arg 1: the new package version # arg 2: the old package version post_upgrade() { # docbook-xml no longer contains etc/xml/catalog, # restore the backup from pre_upgrade(). if [ $(vercmp 4.5-1 $2) -gt 0 ]; then mv etc/xml/catalog{.backup,} fi add_catalog "${1%-*}" } # arg 1: the old package version pre_remove() { remove_catalog "${1%-*}" } # arg 1: the old package version post_remove() { /bin/true } add_catalog() { local CATALOG="etc/xml/docbook-xml-$1" if [ ! -e etc/xml/catalog ]; then xmlcatalog --noout --create $SYS_CATALOG fi xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ "file:///$CATALOG" \ $SYS_CATALOG xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ "file:///$CATALOG" \ $SYS_CATALOG xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ "file:///$CATALOG" \ $SYS_CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ "file:///$CATALOG" \ $SYS_CATALOG # Add support for previous versions. local DTDVERSION for DTDVERSION in 4.1.2 4.2 4.3 4.4; do xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///$CATALOG" \ $SYS_CATALOG xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///$CATALOG" \ $SYS_CATALOG done } remove_catalog() { xmlcatalog --noout --del \ "-//OASIS//ENTITIES DocBook XML" \ $SYS_CATALOG xmlcatalog --noout --del \ "-//OASIS//DTD DocBook XML" \ $SYS_CATALOG xmlcatalog --noout --del \ "http://www.oasis-open.org/docbook/" \ $SYS_CATALOG local DTDVERSION for DTDVERSION in 4.1.2 4.2 4.3 4.4; do xmlcatalog --noout --del \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ $SYS_CATALOG done } op=$1 shift $op "$@" # vim:set syntax=sh ts=4 sw=4 noet: