aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Pettenò <flameeyes@gentoo.org>2008-09-22 13:43:02 +0000
committerDiego Pettenò <flameeyes@gentoo.org>2008-09-22 13:43:02 +0000
commitfb36aa320b82e78b70557bccf72da08734ef2184 (patch)
tree91e32d009698918ded6bbfb03fa63473972ddaf9
parentquiet down the script unless --verbose is specified (diff)
downloadbuild-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-xbuild-docbook-catalog40
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
}