diff options
author | 2008-09-22 13:43:02 +0000 | |
---|---|---|
committer | 2008-09-22 13:43:02 +0000 | |
commit | fb36aa320b82e78b70557bccf72da08734ef2184 (patch) | |
tree | 91e32d009698918ded6bbfb03fa63473972ddaf9 | |
parent | quiet down the script unless --verbose is specified (diff) | |
download | build-docbook-catalog-fb36aa320b82e78b70557bccf72da08734ef2184.tar.gz build-docbook-catalog-fb36aa320b82e78b70557bccf72da08734ef2184.tar.bz2 build-docbook-catalog-fb36aa320b82e78b70557bccf72da08734ef2184.zip |
Extend build-docbook-catalog to support different types of xsl stylesheets (which include xsl-ns for Docbook 5).v1.3
Be ready to support xsl-xalan and xsl-saxon even if they are not
available in Portage too.
Also, assume that the directories are unversioned, as the new ebuilds
don't version them anymore.
The script could be deprecated, for what concerns XSL stylesheets, by
using an eclass instead.
Signed-off-by: Diego Pettenò <flameeyes@gentoo.org>
-rwxr-xr-x | build-docbook-catalog | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/build-docbook-catalog b/build-docbook-catalog index 6b7645b..b304430 100755 --- a/build-docbook-catalog +++ b/build-docbook-catalog @@ -1,5 +1,5 @@ #!/bin/bash -# $Header: /usr/local/src/gentoo/gentoo-src/cvsroot/gentoo-src/build-docbook-catalog/build-docbook-catalog,v 1.2 2004/07/22 22:35:18 agriffis Exp $ +# $Header: /usr/local/src/gentoo/gentoo-src/cvsroot/gentoo-src/build-docbook-catalog/build-docbook-catalog,v 1.3 2008/09/22 13:43:02 flameeyes Exp $ # # build-docbook-catalog: populate /etc/xml/docbook based in # installed docbook-xml-dtd versions. @@ -35,7 +35,9 @@ main() { done create_catalogs # will exit on error - populate_xsl + for type in xsl xsl-ns xsl-saxon xsl-xalan; do + populate_xsl $type + done # Clean out old dtds from catalog verb "Cleaning out old DocBook XML versions from ${CATALOG} and ${ROOTCATALOG}" @@ -251,32 +253,36 @@ populate_entities() { populate_xsl() { typeset listed avail f - # Delete current entries from the catalog - clean_catalog "${DOCBOOKDIR}/xsl-stylesheets-[0-9\.]+" $CATALOG - clean_catalog "${DOCBOOKDIR}/xsl-stylesheets-[0-9\.]+" $ROOTCATALOG + # This is either xsl, xsl-ns, xsl-saxon or xsl-xalan + local type=$1 + + # Delete current entries from the catalog (delete legacy versioned entries too) + clean_catalog "${DOCBOOKDIR}/${type}-stylesheets(-[0-9\.]+)?" $CATALOG + clean_catalog "${DOCBOOKDIR}/${type}-stylesheets(-[0-9\.]+)?" $ROOTCATALOG + + xsldir=/usr/share/sgml/docbook/${type}-stylesheets - # Find the available XSL stylesheets. In theory there should only - # be one match since these aren't slotted, but restrict to the - # first match anyway... - avail=$(find ${DOCBOOKDIR%/*} -name chunk.xsl | head -n 1) - if [[ -z ${avail} ]]; then - echo "Could not locate chunk.xsl of DocBook XSL stylesheets" >&2 + if [[ ! -d ${xsldir} ]]; then + echo "DocBook XSL stylesheets (${type}) not found" >&2 return 1 fi - xsldir=${avail%/*/*} + if [[ ! -e ${xsldir}/html/docbook.xsl || ! -e ${xsldir}/common/l10n.xml ]]; then - echo "DocBook XSLT stylesheets are missing files from ${xsldir}" >&2 + echo "DocBook XSL stylesheets are missing files from ${xsldir}" >&2 return 1 fi # Populate catalog with XSL entries - echo "Found DocBook XSL stylesheets in ${xsldir}" + echo "Found DocBook XSL stylesheets (${type}) in ${xsldir}" verb " Populating ${CATALOG} with XSL stylesheets" + + # HACK: This is a totally arbitrary subset, either it should + # be reduced to just current or it should be expanded. for version in current 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 \ - 1.48 1.49 1.50 ${xsldir##*-} + 1.48 1.49 1.50 do - xmlcatalog --noout --add "rewriteSystem" "http://docbook.sourceforge.net/release/xsl/${version}" "file://${xsldir}" ${CATALOG} - xmlcatalog --noout --add "rewriteURI" "http://docbook.sourceforge.net/release/xsl/${version}" "file://${xsldir}" ${CATALOG} + xmlcatalog --noout --add "rewriteSystem" "http://docbook.sourceforge.net/release/${type}/${version}" "file://${xsldir}" ${CATALOG} + xmlcatalog --noout --add "rewriteURI" "http://docbook.sourceforge.net/release/${type}/${version}" "file://${xsldir}" ${CATALOG} done } |