[Lunar-commits] CVS: moonbase/doc-tools/docbook-xsl rebuild-docbook-catalog, NONE, 1.9.2.1

Jeff Hodges jmhodges at lunar-linux.org
Mon Feb 2 22:48:24 GMT 2004


Update of /var/cvs/lunar/moonbase/doc-tools/docbook-xsl
In directory dbguin.lunar-linux.org:/tmp/cvs-serv17078

Added Files:
      Tag: GNOME_UNSTABLE
	rebuild-docbook-catalog 
Log Message:
there


--- NEW FILE: rebuild-docbook-catalog ---
#! /bin/bash
# This script was stolen from http://docbook.sourceforge.net
# and edited by Nick Hudson <nhudson2367 at earthlink.net> for use 
# with the Lunar docbook installation.  
# Licensed under the GNU Public License v2 2003

#
# Starting from a clean install
#
cp /etc/xml/catalog /etc/xml/catalog.old
cp /etc/xml/docbook /etc/xml/docbook.old
rm -fr /etc/xml/catalog
rm -fr /etc/xml/docbook

#
# Now doing it the right way
#

if [ ! -d /etc/xml -a -w /etc ]
then
    echo Directory /etc/xml missing creating it
    mkdir /etc/xml
    chmod 755 /etc/xml
fi
if [ -w /etc/xml/catalog ] || [ -w /etc/xml -a ! -e /etc/xml/catalog ]
then
    ROOTCATALOG=/etc/xml/catalog
    CATALOG=/etc/xml/docbook
else
    echo Unable to update root catalog /etc/xml/catalog
    echo Using $HOME/xmlcatalog as the root catalog
    echo export XMLCATALOG=$HOME/xmlcatalog
    ROOTCATALOG=$HOME/xmlcatalog
    CATALOG=$HOME/dbkxmlcatalog
fi

#
# create the catalogs root and docbook specific
#
if [ ! -r $ROOTCATALOG ] ; then
   echo creating XML Catalog root $ROOTCATALOG
   xmlcatalog --noout --create $ROOTCATALOG
fi
if [ ! -r $ROOTCATALOG ] ; then
   echo Failed creating XML Catalog root $ROOTCATALOG
   exit 1
fi
if [ ! -r $CATALOG ] ; then
   echo creating DocBook XML Catalog $CATALOG
   xmlcatalog --noout --create $CATALOG
fi
if [ ! -r $CATALOG ] ; then
   echo Failed creating DocBook XML Catalog $CATALOG
   exit 1
fi

#
# find the prefix for DocBook DTD
#
found=`find /usr/share/xml -name docbookx.dtd`
if [ "$found" = "" ] ; then
    found=`find $HOME -name docbookx.dtd`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/local -name docbookx.dtd`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/share/sgml -name docbookx.dtd`
fi
if [ "$found" = "" ] ; then
    echo could not locate docbookx.dtd for DocBook XML
    exit 1
fi

dtd421=""
for dtd in $found; do
    check=`grep '//OASIS//DTD DocBook XML V4.1.2//EN' $dtd`
    if [ "$check" != "" ] ; then
        dtd421=$dtd
        break
    fi
done

if [ "$dtd421" = "" ] ; then
    echo could not locate version 4.1.2 of DocBook XML
    exit 1
fi

docbookdir=`dirname $dtd421`
echo Found DocBook XML 4.1.2 DTD in $docbookdir
if [ ! -w $docbookdir ] ; then
    echo Cannot write to $docbookdir
    exit 2
fi

xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" \
    "file://$docbookdir/dbpoolx.mod" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.1.2//EN" \
    "file://$docbookdir/docbookx.dtd" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" \
    "file://$docbookdir/dbcentx.mod" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" \
    "file://$docbookdir/dbnotnx.mod" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" \
    "file://$docbookdir/dbgenent.mod" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" \
    "file://$docbookdir/dbhierx.mod" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "file://$docbookdir/soextblx.dtd" $CATALOG
xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
    "file://$docbookdir/calstblx.dtd" $CATALOG
xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.1.2" \
    "file://$docbookdir" $CATALOG
xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.1.2" \
    "file://$docbookdir" $CATALOG

xmlcatalog --noout --add "delegatePublic" \
    "-//OASIS//ENTITIES DocBook XML" \
    "file://$CATALOG" $ROOTCATALOG
xmlcatalog --noout --add "delegatePublic" \
    "-//OASIS//DTD DocBook XML" \
    "file://$CATALOG" $ROOTCATALOG
xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/" \
    "file://$CATALOG" $ROOTCATALOG
xmlcatalog --noout --add "delegateURI" \
    "http://www.oasis-open.org/docbook/" \
    "file://$CATALOG" $ROOTCATALOG

#
# find the prefix for ISO DocBook entities
#
top=`dirname $docbookdir`
found=`find $top -name iso-amsb.ent`
if [ "$found" = "" ] ; then
    found=`find /usr/share/xml -name iso-amsb.ent`
fi
if [ "$found" = "" ] ; then
    found=`find $HOME -name iso-amsb.ent`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/local -name iso-amsb.ent`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/share/sgml -name iso-amsb.ent`
fi
if [ "$found" = "" ] ; then
    echo could not locate iso-amsb.ent of ISO DocBook entities
    exit 1
fi

entxml=""
for tst in $found; do
    check=`grep '<!ENTITY ominus."\&#x2296;">' $tst`
    if [ "$check" != "" ] ; then
        entxml=$tst
        break
    fi
done

if [ "$entxml" = "" ] ; then
    echo could not locate ISO DocBook entities
    exit 1
fi
isodir=`dirname $entxml`
echo Found ISO DocBook entities in $isodir

xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Publishing//EN" \
    "file://$isodir/iso-pub.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Greek Letters//EN" \
    "file://$isodir/iso-grk1.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Box and Line Drawing//EN" \
    "file://$isodir/iso-box.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Greek Symbols//EN" \
    "file://$isodir/iso-grk3.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" \
    "file://$isodir/iso-amsn.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" \
    "file://$isodir/iso-num.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" \
    "file://$isodir/iso-grk4.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Diacritical Marks//EN" \
    "file://$isodir/iso-dia.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Monotoniko Greek//EN" \
    "file://$isodir/iso-grk2.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" \
    "file://$isodir/iso-amsa.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" \
    "file://$isodir/iso-amso.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Russian Cyrillic//EN" \
    "file://$isodir/iso-cyr1.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES General Technical//EN" \
    "file://$isodir/iso-tech.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" \
    "file://$isodir/iso-amsc.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Latin 1//EN" \
    "file://$isodir/iso-lat1.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" \
    "file://$isodir/iso-amsb.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Latin 2//EN" \
    "file://$isodir/iso-lat2.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" \
    "file://$isodir/iso-amsr.ent" $CATALOG
xmlcatalog --noout --add "public" \
    "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" \
    "file://$isodir/iso-cyr2.ent" $CATALOG

xmlcatalog --noout --add "delegatePublic" \
    "ISO 8879:1986" \
    "file://$CATALOG" $ROOTCATALOG

#
# find the prefix for XSLT stylesheets
#
top=`dirname $docbookdir`
found=`find $top -name chunk.xsl`
if [ "$found" = "" ] ; then
    found=`find /usr/share/xml -name chunk.xsl`
fi
if [ "$found" = "" ] ; then
    found=`find $HOME -name chunk.xsl`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/local -name chunk.xsl`
fi
if [ "$found" = "" ] ; then
    found=`find /usr/share/sgml -name chunk.xsl`
fi
if [ "$found" = "" ] ; then
    echo could not locate chunk-common.xsl of DocBook XSLT stylesheets
    exit 1
fi

xsldir=""
for tst in $found; do
    dir=`dirname $tst`
    dir=`dirname $dir`
    if [ -r $dir/html/docbook.xsl -a -r $dir/common/l10n.xml ]; then
        xsldir=$dir
        break
    fi
done

if [ "$xsldir" = "" ] ; then
    echo could not locate DocBook XSLT stylesheets
    exit 1
fi
echo Found DocBook XSLT stylesheets in $xsldir
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
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
done

xmlcatalog --noout --add "delegateSystem" \
    "http://docbook.sourceforge.net/release/xsl/" \
    "file://$CATALOG" $ROOTCATALOG
xmlcatalog --noout --add "delegateURI" \
    "http://docbook.sourceforge.net/release/xsl/" \
    "file://$CATALOG" $ROOTCATALOG

#
# find the prefix for Scrollkeeper DTD's
#
scrollkeeperdir=/usr/share/xml/scrollkeeper/dtds
top=`dirname $docbookdir`
linforced="no"
sksearch=""

until [ "$sksearch" = "end" ]
do
	if [ "$linforced" = "yes" ] ; then
		echo "Ok, we're back from re-compiling scrollkeeper..."
		echo "Let's test for scrollkeeper's dtds again..."
	fi
	found=`find $top -name scrollkeeper-omf.dtd`
	if [ "$found" = "" ] ; then
    		found=`find /usr/share/xml -name scrollkeeper-omf.dtd`
	fi
	if [ "$found" = "" ] ; then
		if [ "$linforced" = "no" ] && [ "$FORCELINSK" = "yes" ]; then
			linforced="yes"
			echo "Looks like scrollkeeper install is missing some files..."
			echo "Forcing re-compile of scrollkeeper to try to replace missing files..."
			lin -c scrollkeeper
		else
    			echo could not locate scrollkeeper dtd files
    			exit 1
		fi
	else
		sksearch="end"
	fi
done


if [ -d $scrollkeeperdir ]; then
   echo Found Scrollkeeper DTDs in $found
   xmlcatalog --noout --add "public" \
   "-//OMF//DTD Scrollkeeper OMF Variant v1.0//EN" \
   "file://$found" $CATALOG
fi

#
#
#find the prefix for libglade's DTD files
#
libgladedir=/usr/share/xml/libglade
top=`dirname $docbookdir`
found=`find $top -name glade-2.0.dtd`
if [ "$found" = "" ] ; then
    found=`find /usr/share/xml -name glade-2.0.dtd`
fi
if [ "$found" = "" ] ; then
    echo could not locate libglade dtd files
fi

 if [ -d $libgladedir ]; then
    echo Found libglade DTDs in $found
    xmlcatalog --noout --add "system" \
    "http://glade.gnome.org/glade-2.0.dtd" \
    "file://$found" $CATALOG
fi



More information about the Lunar-commits mailing list