]> git.stg.codes - stg.git/blobdiff - doc/xslt/install.sh
Removed old bundled xslt stuff.
[stg.git] / doc / xslt / install.sh
diff --git a/doc/xslt/install.sh b/doc/xslt/install.sh
deleted file mode 100755 (executable)
index 4071619..0000000
+++ /dev/null
@@ -1,977 +0,0 @@
-#!/bin/bash
-# $Id: install.sh 7942 2008-03-26 06:08:08Z xmldoc $
-# $Source$ #
-
-# install.sh - Set up user environment for a XML/XSLT distribution
-
-# This is as an interactive installer for updating your
-# environment to use an XML/XSLT distribution such as the DocBook
-# XSL Stylesheets. Its main purpose is to configure your
-# environment with XML catalog data and schema "locating rules"
-# data provided in the XML/XSLT distribution.
-#
-# Although this installer was created for the DocBook project, it
-# is a general-purpose tool that can be used with any XML/XSLT
-# distribution that provides XML/SGML catalogs and locating rules.
-#
-# This script is mainly intended to make things easier for you if
-# you want to install a particular XML/XSLT distribution that has
-# not (yet) been packaged for your OS distro (Debian, Fedora,
-# whatever), or to use "snapshot" or development releases 
-#
-# It works by updating your shell startup file (e.g., .bashrc and
-# .cshrc) and .emacs file and by finding or creating a writable
-# CatalogManager.properties file to update.
-#
-# It makes backup copies of any files it touches, and also
-# generates a uninstall.sh script for reverting its changes.
-#
-# In the same directory where it is located, it expects to find
-# the following four files:
-#   - locatingrules.xml
-#   - catalog.xml
-#   - catalog
-#   - .urilist
-# And if it's unable to locate a CatalogManager.properties file in
-# your environment, it expects to find an "example" one in the
-# same directory as itself, which it copies over to your
-# ~/.resolver directory.
-#
-# If the distribution contains any executables, change the value
-# of the thisBinDir to a colon-separated list of the pathnames of
-# the directories that contain those executables.
-
-# mydir is the "canonical" absolute pathname for install.sh
-mydir=$(cd -P $(dirname $0) && pwd -P) || exit 1
-
-thisLocatingRules=$mydir/locatingrules.xml
-thisXmlCatalog=$mydir/catalog.xml
-thisSgmlCatalog=$mydir/catalog
-
-# .urilist file contains a list of pairs of local pathnames and
-# URIs to test for catalog resolution
-thisUriList=$mydir/.urilist
-exampleCatalogManager=$mydir/.CatalogManager.properties.example
-thisCatalogManager=$HOME/.resolver/CatalogManager.properties
-
-# thisBinDir directory is a colon-separated list of the pathnames
-# to all directories that contain executables provided with the
-# distribution (for example, the DocBook XSL Stylesheets
-# distribution contains a "docbook-xsl-update" convenience script
-# for rsync'ing up to the latest docbook-xsl snapshot). The
-# install.sh script adds the value of thisBinDir to your PATH
-# environment variable
-thisBinDir=$mydir/tools/bin
-
-emit_message() {
-  echo "$1" 1>&2
-}
-
-if [ ! "${*#--batch}" = "$*" ]; then
-  batchmode="Yes";
-else
-  batchmode="No";
-  emit_message
-  if [ ! "$1" = "--test" ]; then 
-    emit_message "NOTE: For non-interactive installs/uninstalls, use --batch"
-    if [ ! "$1" = "--uninstall" ]; then
-      emit_message
-    fi
-  fi
-fi
-
-osName="Unidentified"
-if uname -s | grep -qi "cygwin"; then
-  osName="Cygwin"
-fi
-
-classPathSeparator=":"
-if [ "$osName" = "Cygwin" ]; then
-  thisJavaXmlCatalog=$(cygpath -m $thisXmlCatalog)
-  classPathSeparator=";"
-else
-  thisJavaXmlCatalog=$thisXmlCatalog
-fi
-
-main() {
-  removeOldFiles
-  checkRoot
-  updateCatalogManager
-  checkForResolver
-  writeDotFiles
-  updateUserStartupFiles
-  updateUserDotEmacs
-  writeUninstallFile
-  writeTestFile
-  printExitMessage
-}
-
-removeOldFiles() {
-  rm -f $mydir/.profile.incl
-  rm -f $mydir/.cshrc.incl
-  rm -f $mydir/.emacs.el
-}
-
-checkRoot() {
-  if [ $(id -u)  == "0" ]; then
-    cat 1>&2 <<EOF
-
-WARNING: This install script is meant to be run as a non-root
-         user, but you are running it as root.
-
-EOF
-    read -s -n1 -p "Are you sure you want to continue? [No] "
-    emit_message "$REPLY"
-    case $REPLY in
-      [yY])
-      emit_message
-      ;;
-      *) emit_message "OK, exiting without making changes."
-      exit
-      ;;
-    esac
-  fi
-  return 0
-}
-
-updateCatalogManager() {
-
-  #  - finds or creates a writable CatalogManager.properties file
-  #
-  #  - adds the catalog.xml file for this distribution to the
-  #    CatalogManager.properties file found
-
-  if [ -z "$CLASSPATH" ]; then
-    cat 1>&2 <<EOF
-
-NOTE: There is no CLASSPATH variable set in your environment.
-      No attempt was made to find a CatalogManager.properties
-      file.  Using $thisCatalogManager instead
-EOF
-  else
-    # split CLASSPATH in a list of pathnames by replacing all separator
-    # characters with spaces
-    if [ "$osName" = "Cygwin" ]; then
-      pathnames=$(echo $CLASSPATH | tr ";" " ")
-    else
-      pathnames=$(echo $CLASSPATH | tr ":" " ")
-    fi
-    for path in $pathnames; do
-    if [ "$osName" = "Cygwin" ]; then
-      path=$(cygpath -u $path)
-    fi
-      # strip out trailing slash from pathname
-      path=$(echo $path | sed 's/\/$//')
-      # find CatalogManager.properties file
-      if [ -f $path/CatalogManager.properties ];
-      then
-        existingCatalogManager=$path/CatalogManager.properties
-        break
-      fi
-    done
-  fi
-  # end of CLASSPATH check
-
-  if [ -w "$existingCatalogManager" ]; then
-    # existing CatalogManager.properties was found and it is
-    # writable, so use it
-    myCatalogManager=$existingCatalogManager
-  else
-    if [ -f "$existingCatalogManager" ]; then
-      # a non-writable CatalogManager.properties exists, so emit a
-      # note saying that it won't be used
-      cat 1>&2 <<EOF
-NOTE: $existingCatalogManager file found,
-      but you don't have permission to write to it.
-      Will instead use:
-      $thisCatalogManager
-EOF
-    else
-      # CLASSPATH is set, but no CatalogManager.properties found
-      if [ -n "$CLASSPATH" ]; then
-        cat 1>&2 <<EOF
-NOTE: No CatalogManager.properties found from CLASSPATH.
-      Will instead use:
-      $thisCatalogManager
-EOF
-      fi
-    fi
-    if [ "$batchmode" = "Yes" ]; then
-      emit_message
-    fi
-    # end of check for existing writable CatalogManager.properties
-
-    if [ -f $thisCatalogManager ]; then
-      myCatalogManager=$thisCatalogManager
-    else
-      REPLY=""
-      if [ ! "$batchmode" = "Yes" ]; then
-        emit_message
-        read -s -n1 -p "Create $thisCatalogManager file? [Yes] "
-        emit_message "$REPLY"
-        emit_message
-      fi
-      case $REPLY in
-        [nNqQ])
-        emitNoChangeMsg
-        ;;
-        *)
-        if [ ! -d "${thisCatalogManager%/*}" ]; then
-          mkdir -p ${thisCatalogManager%/*}
-        fi
-        cp $mydir/.CatalogManager.properties.example $thisCatalogManager || exit 1
-        emit_message "NOTE: Created the following file:"
-        emit_message "      $thisCatalogManager"
-        myCatalogManager=$thisCatalogManager
-        ;;
-      esac
-      # end of creating "private" CatalogManager.properties
-    fi
-    # end of check for "private" CatalogManager.properties
-  fi
-  # end of check finding/creating writable CatalogManager.properties
-
-  if [ -n "$myCatalogManager" ]; then
-    etcXmlCatalog=
-    catalogsLine=$(grep "^catalogs=" $myCatalogManager)
-    if [ -f /etc/xml/catalog ] && [ "$osName" != "Cygwin" ] \
-      && [ "${catalogsLine#*/etc/xml/catalog*}" = "$catalogsLine" ]; then
-      cat 1>&2 <<EOF
-
-WARNING: /etc/xml/catalog exists but was not found in:
-         $myCatalogManager
-         If /etc/xml/catalog file has content, you probably
-         should reference it in:
-         $myCatalogManager
-         This installer can automatically add it for you,
-         but BE WARNED that once it has been added, the
-         uninstaller for this distribution CANNOT REMOVE IT
-         automatically during uninstall. If you no longer want
-         it included, you will need to remove it manually.
-
-EOF
-      REPLY=""
-      if [ ! "$batchmode" = "Yes" ]; then
-        read -s -n1 -p "Add /etc/xml/catalog to $myCatalogManager? [Yes] "
-        emit_message "$REPLY"
-      fi
-      case $REPLY in
-        [nNqQ])
-        emit_message
-        ;;
-        *)
-        etcXmlCatalog=/etc/xml/catalog
-        ;;
-      esac
-    fi
-
-    catalogBackup="$myCatalogManager.$$.bak"
-    if [ ! -w "${myCatalogManager%/*}" ]; then
-      emit_message
-      emit_message "WARNING: ${myCatalogManager%/*} directory is not writable."
-      emit_message
-      emitNoChangeMsg
-    else
-      REPLY=""
-      if [ ! "$batchmode" = "Yes" ]; then
-        emit_message
-        emit_message "Add $thisJavaXmlCatalog"
-        read -s -n1 -p "to $myCatalogManager file? [Yes] "
-        emit_message "$REPLY"
-        emit_message
-      fi
-      case $REPLY in
-        [nNqQ])
-        emitNoChangeMsg
-        ;;
-        *)
-        if [ "$catalogsLine" ] ; then
-          if [ "${catalogsLine#*$thisJavaXmlCatalog*}" != "$catalogsLine" ]; then
-            emit_message "NOTE: $thisJavaXmlCatalog"
-            emit_message "      already in:"
-            emit_message "      $myCatalogManager"
-          else
-            mv $myCatalogManager $catalogBackup || exit 1
-            sed "s#^catalogs=\(.*\)\$#catalogs=$thisJavaXmlCatalog;\1;$etcXmlCatalog#" $catalogBackup \
-            | sed 's/;\+/;/' | sed 's/;$//' > $myCatalogManager || exit 1
-            emit_message "NOTE: Successfully updated the following file:"
-            emit_message "      $myCatalogManager"
-            emit_message "      Backup written to:"
-            emit_message "      $catalogBackup"
-          fi
-        else
-          mv $myCatalogManager $catalogBackup || exit 1
-          cp $catalogBackup $myCatalogManager
-          echo "catalogs=$thisJavaXmlCatalog;$etcXmlCatalog" \
-          | sed 's/;\+/;/' | sed 's/;$//' >> $myCatalogManager || exit 1
-          emit_message "NOTE: \"catalogs=\" line added to $myCatalogManager."
-          emit_message "      Backup written to $catalogBackup"
-        fi
-        ;;
-      esac
-      # end of backing up and updating CatalogManager.properties
-    fi
-  fi
-  # end of CatalogManager.properties updates
-
-  if [ "$osName" = "Cygwin" ]; then
-    myCatalogManager=$(cygpath -m $myCatalogManager)
-  fi
-  return 0
-}
-
-writeDotFiles() {
-  while read; do
-    echo "$REPLY" >> $mydir/.profile.incl
-  done <<EOF
-# $thisBinDir is not in PATH, so add it
-if [ "\${PATH#*$thisBinDir*}" = "\$PATH" ]; then
-  PATH="$thisBinDir:\$PATH"
-  export PATH
-fi
-if [ -z "\$XML_CATALOG_FILES" ]; then
-  XML_CATALOG_FILES="$thisXmlCatalog"
-else
-  # $thisXmlCatalog is not in XML_CATALOG_FILES, so add it
-  if [ "\${XML_CATALOG_FILES#*$thisXmlCatalog*}" = "\$XML_CATALOG_FILES" ]; then
-    XML_CATALOG_FILES="$thisXmlCatalog \$XML_CATALOG_FILES"
-  fi
-fi
-# /etc/xml/catalog exists but is not in XML_CATALOG_FILES, so add it
-if [ -f /etc/xml/catalog ] && \
-  [ "\${XML_CATALOG_FILES#*/etc/xml/catalog*}" = "\$XML_CATALOG_FILES" ]; then
-  XML_CATALOG_FILES="\$XML_CATALOG_FILES /etc/xml/catalog"
-fi
-export XML_CATALOG_FILES
-
-if [ -z "\$SGML_CATALOG_FILES" ]; then
-  SGML_CATALOG_FILES="$thisSgmlCatalog"
-else
-  # $thisSgmlCatalog is not in SGML_CATALOG_FILES, so add it
-  if [ "\${SGML_CATALOG_FILES#*$thisSgmlCatalog}" = "\$SGML_CATALOG_FILES" ]; then
-    SGML_CATALOG_FILES="$thisSgmlCatalog:\$SGML_CATALOG_FILES"
-  fi
-fi
-# /etc/sgml/catalog exists but is not in SGML_CATALOG_FILES, so add it
-if [ -f /etc/sgml/catalog ] && \
-  [ "\${SGML_CATALOG_FILES#*/etc/sgml/catalog*}" = "\$SGML_CATALOG_FILES" ]; then
-  SGML_CATALOG_FILES="\$SGML_CATALOG_FILES:/etc/sgml/catalog"
-fi
-export SGML_CATALOG_FILES
-EOF
-
-while read; do
-  echo "$REPLY" >> $mydir/.cshrc.incl
-done <<EOF
-# $thisBinDir is not in PATH, so add it
-if ( "\\\`echo \$PATH | grep -v $thisBinDir\\\`" != "" ) then
-  setenv PATH "$thisBinDir:\$PATH"
-endif
-if ( ! $\?XML_CATALOG_FILES ) then
-  setenv XML_CATALOG_FILES "$thisXmlCatalog"
-# $thisXmlCatalog is not in XML_CATALOG_FILES, so add it
-else if ( "\\\`echo \$XML_CATALOG_FILES | grep -v $thisXmlCatalog\\\`" != "" ) then
-  setenv XML_CATALOG_FILES "$thisXmlCatalog \$XML_CATALOG_FILES"
-endif
-endif
-# /etc/xml/catalog exists but is not in XML_CATALOG_FILES, so add it
-if ( -f /etc/xml/catalog && "\\\`echo \$XML_CATALOG_FILES | grep -v /etc/xml/catalog\\\`" != "" ) then
-  setenv XML_CATALOG_FILES "\$XML_CATALOG_FILES /etc/xml/catalog"
-endif
-
-endif
-if ( ! $\?SGML_CATALOG_FILES ) then
-  setenv SGML_CATALOG_FILES "$thisSgmlCatalog"
-else if ( "\\\`echo \$SGML_CATALOG_FILES | grep -v $thisSgmlCatalog\\\`" != "" ) then
-  setenv SGML_CATALOG_FILES "$thisSgmlCatalog:\$SGML_CATALOG_FILES"
-endif
-endif
-# /etc/SGML/catalog exists but is not in SGML_CATALOG_FILES, so add it
-if ( -f /etc/sgml/catalog && "\\\`echo \$SGML_CATALOG_FILES | grep -v /etc/sgml/catalog\\\`" != "" ) then
-  setenv SGML_CATALOG_FILES {\$SGML_CATALOG_FILES}:/etc/sgml/catalog
-endif
-EOF
-
-if [ -n "$myCatalogManager" ]; then
-  myCatalogManagerDir=${myCatalogManager%/*}
-  while read; do
-    echo "$REPLY" >> $mydir/.profile.incl
-  done <<EOF
-
-
-if [ -z "\$CLASSPATH" ]; then
-  CLASSPATH="$myCatalogManagerDir"
-else
-  # $myCatalogManagerDir is not in CLASSPATH, so add it
-  if [ "\${CLASSPATH#*$myCatalogManagerDir*}" = "\$CLASSPATH" ]; then
-    CLASSPATH="$myCatalogManagerDir$classPathSeparator\$CLASSPATH"
-  fi
-fi
-export CLASSPATH
-EOF
-
-  while read; do
-    echo "$REPLY" >> $mydir/.cshrc.incl
-  done <<EOF
-
-
-if ( ! $\?CLASSPATH ) then
-  setenv CLASSPATH "$myCatalogManagerDir"
-# $myCatalogManagerDir is not in CLASSPATH, so add it
-else if ( "\\\`echo \$CLASSPATH | grep -v $myCatalogManagerDir\\\`" != "" ) then
-  setenv CLASSPATH "$myCatalogManagerDir$classPathSeparator\$CLASSPATH"
-endif
-endif
-EOF
-
-fi
-
-while read; do
-  echo "$REPLY" >> $mydir/.emacs.el
-done <<EOF
-(add-hook
-  'nxml-mode-hook
-  (lambda ()
-    (setq rng-schema-locating-files-default
-          (append '("$thisLocatingRules")
-                  rng-schema-locating-files-default ))))
-EOF
-
-return 0
-}
-
-updateUserStartupFiles() {
-  if [ ! "$batchmode" = "Yes" ]; then
-  cat 1>&2 <<EOF
-
-NOTE: To source your environment correctly for using the catalog
-      files in this distribution, you need to update one or more
-      of your shell startup files. This installer can
-      automatically make the necessary changes. Or, if you prefer,
-      you can make the changes manually.
-
-EOF
-  else
-    emit_message
-  fi
-
-  # if running csh or tcsh, target .cshrc and .tcshrc files for
-  # update; otherwise, target .bash_* and .profiles
-
-  parent=$(ps -p $PPID | grep "/")
-  if [ "${parent#*csh}" != "$parent" ] || [ "${parent#*tcsh}" != "$parent" ]; then
-    myStartupFiles=".cshrc .tcshrc"
-    appendLine="source $mydir/.cshrc.incl"
-  else
-    myStartupFiles=".bash_profile .bash_login .profile .bashrc"
-    appendLine=". $mydir/.profile.incl"
-  fi
-
-  for file in $myStartupFiles; do
-    if [ -f "$HOME/$file" ]; then
-      dotFileBackup=$HOME/$file.$$.bak
-      REPLY=""
-      if [ ! "$batchmode" = "Yes" ]; then
-        read -s -n1 -p "Update $HOME/$file? [Yes] "
-        emit_message "$REPLY"
-      fi
-      case $REPLY in
-        [nNqQ])
-        cat 1>&2 <<EOF
-
-NOTE: No change made to $HOME/$file. You either need
-      to add the following line to it, or manually source
-      the shell environment for this distribution each
-      time you want use it.
-
-$appendLine
-
-EOF
-        ;;
-        *)
-        lineExists="$(grep "$appendLine" $HOME/$file )"
-        if [ ! "$lineExists" ]; then
-          mv $HOME/$file $dotFileBackup     || exit 1
-          cp $dotFileBackup $HOME/$file     || exit 1
-          echo "$appendLine" >> $HOME/$file || exit 1
-          cat 1>&2 <<EOF
-NOTE: Successfully updated the following file:
-      $HOME/$file 
-      Backup written to:
-      $dotFileBackup
-
-EOF
-        else
-          cat 1>&2 <<EOF
-NOTE: The following file already contains information for this
-      distribution, so I did not update it.
-      $HOME/$file
-
-EOF
-        fi
-        ;;
-      esac
-    fi
-  done
-  if [ -z "$dotFileBackup" ]; then
-    if [ ! "$batchmode" = "Yes" ]; then
-      emit_message
-    fi
-    cat 1>&2 <<EOF
-NOTE: No shell startup files updated. You can source the
-      environment for this distribution manually, each time you
-      want to use it, by typing the following.
-
-$appendLine
-
-EOF
-  fi
-}
-
-updateUserDotEmacs() {
-  if [ -f $thisLocatingRules ]; then
-  cat 1>&2 <<EOF
-
-NOTE: This distribution includes a "schema locating rules" file
-      for Emacs/nXML.  To use it, you should update either your
-      .emacs or .emacs.el file.  This installer can automatically
-      make the necessary changes. Or, if you prefer, you can make
-      the changes manually.
-
-EOF
-
-  emacsAppendLine="(load-file \"$mydir/.emacs.el\")"
-  myEmacsFile=
-  for file in .emacs .emacs.el; do
-    if [ -f "$HOME/$file" ]; then
-      myEmacsFile=$HOME/$file
-      break
-    fi
-  done
-  if [ ! -f "$myEmacsFile" ]; then
-    REPLY=""
-    if [ ! "$batchmode" = "Yes" ]; then
-      read -s -n1 -p "No .emacs or .emacs.el file. Create one? [No] "
-      emit_message "$REPLY"
-      emit_message
-    fi
-    case $REPLY in
-      [yY])
-      myEmacsFile=$HOME/.emacs
-      touch $myEmacsFile
-      ;;
-      *)
-      cat 1>&2 <<EOF
-NOTE: No Emacs changes made. To use this distribution with,
-      Emacs/nXML, you can create a .emacs file and manually add
-      the following line to it, or you can run it as a command
-      within Emacs.
-
-$emacsAppendLine
-
-EOF
-      ;;
-    esac
-  fi
-  if [ -n "$myEmacsFile" ]; then
-    REPLY=""
-    if [ ! "$batchmode" = "Yes" ]; then
-      read -s -n1 -p  "Update $myEmacsFile? [Yes] "
-      emit_message "$REPLY"
-      emit_message
-    fi
-    case $REPLY in
-      [nNqQ])
-      cat 1>&2 <<EOF
-
-NOTE: No change made to $myEmacsFile. To use this distribution
-      with Emacs/nXML, you can manually add the following line
-      to your $myEmacsFile, or you can run it as a command
-      within Emacs.
-
-$emacsAppendLine
-
-EOF
-      ;;
-      *)
-      lineExists="$(grep "$emacsAppendLine" $myEmacsFile)"
-      if [ ! "$lineExists" ]; then
-        dotEmacsBackup=$myEmacsFile.$$.bak
-        mv $myEmacsFile $dotEmacsBackup    || exit 1
-        cp $dotEmacsBackup $myEmacsFile    || exit 1
-        echo "$emacsAppendLine" >> $myEmacsFile || exit 1
-        cat 1>&2 <<EOF
-NOTE: Successfully updated the following file:
-      $myEmacsFile
-      Backup written to:
-      $dotEmacsBackup
-EOF
-      else
-        cat 1>&2 <<EOF
-
-NOTE: The following file already contains information for this
-      distribution, so I did not update it.
-      $myEmacsFile
-
-EOF
-      fi
-      ;;
-    esac
-  fi
-fi
-}
-
-uninstall() {
-  if [ ! "$batchmode" = "Yes" ]; then
-  cat 1>&2 <<EOF
-
-NOTE: To "uninstall" this distribution, the changes made to your
-      CatalogManagers.properties, startup files, and/or .emacs
-      file need to be reverted. This uninstaller can automatically
-      revert them.  Or, if you prefer, you can revert them manually.
-
-EOF
-  fi
-
-  if [ "$osName" = "Cygwin" ]; then
-    thisXmlCatalog=$thisJavaXmlCatalog
-  fi
-
-  # make "escaped" version of PWD to use with sed and grep
-  escapedPwd=$(echo $mydir | sed "s#/#\\\\\/#g")
-
-  # check to see if a non-empty value for catalogManager was fed
-  # to uninstaller.
-  if [ -n ${1#--catalogManager=} ]; then
-    myCatalogManager=${1#--catalogManager=}
-    catalogBackup="$myCatalogManager.$$.bak"
-    catalogsLine=$(grep "^catalogs=" $myCatalogManager)
-    if [ "$catalogsLine" ] ; then
-      if [ "${catalogsLine#*$thisXmlCatalog*}" != "$catalogsLine" ]; then
-        REPLY=""
-        if [ ! "$batchmode" = "Yes" ]; then
-          read -s -n1 -p "Revert $myCatalogManager? [Yes] "
-          emit_message "$REPLY"
-        fi
-        case $REPLY in
-          [nNqQ]*)
-          cat 1>&2 <<EOF
-
-NOTE: No change made to $myCatalogManager. You need to manually
-      remove the following path from the "catalog=" line.
-
-          $thisXmlCatalog
-
-EOF
-          ;;
-          *)
-          mv $myCatalogManager $catalogBackup || exit 1
-          sed "s#^catalogs=\(.*\)$thisXmlCatalog\(.*\)\$#catalogs=\1\2#" $catalogBackup \
-          | sed 's/;\+/;/' | sed 's/;$//' | sed 's/=;/=/' > $myCatalogManager || exit 1
-          cat 1>&2 <<EOF
-NOTE: Successfully updated the following file:
-      $myCatalogManager
-      Backup written to:
-      $catalogBackup
-
-EOF
-          ;;
-        esac
-      else
-        emit_message "NOTE: No data for this distribution found in:"
-        emit_message "       $myCatalogManager"
-        emit_message
-      fi
-    else
-      cat 1>&2 <<EOF
-NOTE: No data for this distribution was found in the following
-      file, so I did not revert it.
-      $myCatalogManager
-EOF
-    fi
-  fi
-
-  if [ -n "$myEmacsFile" ]; then 
-    # check to see if a non-empty value for --dotEmacs file was fed
-    # to uninstaller.
-    if [ -n ${2#--dotEmacs=} ]; then
-      myEmacsFile=${2#--dotEmacs=}
-      revertLine="(load-file \"$escapedPwd\/\.emacs\.el\")"
-      loadLine="$(grep "$revertLine" "$myEmacsFile")"
-      if [ -n "$loadLine" ]; then
-        emit_message
-        REPLY=""
-        if [ ! "$batchmode" = "Yes" ]; then
-          read -s -n1 -p "Revert $myEmacsFile? [Yes] "
-          emit_message "$REPLY"
-        fi
-        case $REPLY in
-          [nNqQ]*)
-          cat 1>&2 <<EOF
-
-NOTE: No change made to $myEmacsFile. You need to manually
-remove the following line.
-
-(load-file \"$mydir/.emacs.el\")
-
-EOF
-          ;;
-          *)
-          dotEmacsBackup=$myEmacsFile.$$.bak
-          sed -e "/$revertLine/d" -i".$$.bak" $myEmacsFile  || exit 1
-          cat 1>&2 <<EOF
-NOTE: successfully reverted the following file:
-      $myEmacsFile
-      Backup written to:
-      $dotEmacsBackup
-
-EOF
-          ;;
-        esac
-      else
-        emit_message "NOTE: No data for this distribution found in:"
-        emit_message "      $myEmacsFile"
-      fi
-    fi
-  fi
-
-  # check all startup files
-  myStartupFiles=".bash_profile .bash_login .profile .bashrc .cshrc .tcshrc"
-  for file in $myStartupFiles; do
-    if [ -e "$HOME/$file" ]; then
-      case $file in
-        .tcshrc|.cshrc)
-        revertLine="source $mydir/.cshrc.incl"
-        revertLineEsc="source $escapedPwd\/\.cshrc\.incl"
-        ;;
-        *)
-        revertLine=". $mydir/.profile.incl"
-        revertLineEsc="\. $escapedPwd\/\.profile\.incl"
-        ;;
-      esac
-      lineExists="$(grep "$revertLineEsc" $HOME/$file )"
-      if [ "$lineExists" ]; then
-        REPLY=""
-        if [ ! "$batchmode" = "Yes" ]; then
-          read -s -n1 -p "Update $HOME/$file? [Yes] "
-          emit_message "$REPLY"
-        fi
-        case $REPLY in
-          [nNqQ]*)
-          cat 1>&2 <<EOF
-
-NOTE: No change made to $HOME/$file. You need to manually remove
-      the following line from it.
-
- $revertLine
-
-EOF
-          ;;
-          *)
-          dotFileBackup=$HOME/$file.$$.bak
-          sed -e "/$revertLineEsc/d" -i".$$.bak" $HOME/$file  || exit 1
-          cat 1>&2 <<EOF
-NOTE: Successfully updated the following file:
-      $HOME/$file
-      Backup written to:
-      $dotFileBackup
-
-EOF
-          ;;
-        esac
-      else
-        emit_message "NOTE: No data for this distribution found in:"
-        emit_message "      $HOME/$file"
-        emit_message
-      fi
-    fi
-  done
-  removeOldFiles
-  emit_message "Done. Deleted uninstall.sh file."
-  rm -f $mydir/test.sh      || exit 1
-  rm -f $mydir/uninstall.sh || exit 1
-}
-
-writeUninstallFile() {
-  uninstallFile=$mydir/uninstall.sh
-  echo '#!/bin/bash'                               > $uninstallFile || exit 1
-  echo 'mydir=$(cd -P $(dirname $0) && pwd -P)'   >> $uninstallFile || exit 1
-  echo "\$mydir/install.sh \\"                    >> $uninstallFile || exit 1
-  echo "  --uninstall \\"                         >> $uninstallFile || exit 1
-  echo "  --catalogManager=$myCatalogManager \\"  >> $uninstallFile || exit 1
-  echo "  --dotEmacs='$myEmacsFile' \\"           >> $uninstallFile || exit 1
-  echo '  $@'                                     >> $uninstallFile || exit 1
-  chmod 755 $uninstallFile || exit 1
-}
-
-writeTestFile() {
-  testFile=$mydir/test.sh
-  echo "#!/bin/bash"                                > $testFile || exit 1
-  echo 'mydir=$(cd -P $(dirname $0) && pwd -P)'    >> $testFile || exit 1
-  echo '$mydir/install.sh --test'                  >> $testFile || exit 1
-  chmod 755 $testFile || exit 1
-}
-
-printExitMessage() {
-  cat 1>&2 <<EOF
-To source your shell environment for this distribution, type the
-following:
-
-$appendLine
-
-EOF
-}
-
-checkForResolver() {
-  resolverResponse="$(java org.apache.xml.resolver.apps.resolver uri -u foo 2>/dev/null)"
-  if [ -z "$resolverResponse" ]; then
-    cat 1>&2 <<EOF
-
-NOTE: Your environment does not seem to contain the Apache XML
-      Commons Resolver; without that, you can't use XML catalogs
-      with Java applications. For more information, see the "How
-      to use a catalog file" section in Bob Stayton's "DocBook
-      XSL: The Complete Guide"
-
-      http://sagehill.net/docbookxsl/UseCatalog.html
-
-EOF
-  fi
-}
-
-emitNoChangeMsg() {
-  cat 1>&2 <<EOF
-
-NOTE: No changes were made to CatalogManagers.properties. To
-      provide your Java tools with XML catalog information for
-      this distribution, you will need to make the appropriate
-      changes manually.
-
-EOF
-}
-
-testCatalogs() {
-  if [ ! -f "$thisXmlCatalog" ]; then
-    cat 1>&2 <<EOF
-
-FATAL: $thisXmlCatalog file needed but not found. Stopping.
-EOF
-  exit
-  fi
-
-  if [ -z "$XML_CATALOG_FILES" ]; then
-    emit_message
-    emit_message "WARNING: XML_CATALOG_FILES not set. Not testing with xmlcatalog."
-  else
-    xmlCatalogResponse="$(xmlcatalog 2>/dev/null)"
-    if [ -z "$xmlCatalogResponse" ]; then
-    cat 1>&2 <<EOF
-
-WARNING: Cannot locate the "xmlcatalog" command. Make sure that
-         you have libxml2 and its associated utilities installed.
-
-         http://xmlsoft.org/
-
-EOF
-    else
-      emit_message "Testing with xmlcatalog..."
-      # read in pathname-uri pairs from .urilist file
-      while read pair; do
-        if [ ! "${pair%* *}" = "." ]; then
-          path=$mydir/${pair%* *}
-        else
-          path=$mydir/
-        fi
-        uri=${pair#* *}
-        emit_message
-        emit_message "  Tested: $uri"
-        for catalog in $XML_CATALOG_FILES; do
-          response="$(xmlcatalog $catalog $uri| grep -v "No entry")"
-          if [ -n "$response" ]; then
-            if [ "$response" = "$path" ]; then
-              emit_message "  Result: $path"
-              break
-            else
-              emit_message "  Result: FAILED"
-            fi
-          fi
-        done
-      done < $mydir/.urilist
-    fi
-  fi
-
-  if [ -z "$CLASSPATH" ]; then
-    emit_message
-    emit_message "NOTE: CLASSPATH not set. Not testing with Apache XML Commons Resolver."
-  else
-    if [ "$(checkForResolver)" ]; then
-      checkForResolver
-    else
-      emit_message
-      emit_message "Testing with Apache XML Commons Resolver..."
-      # read in pathname-uri pairs from .urilist file
-      while read pair; do
-        if [ ! "${pair%* *}" = "." ]; then
-          path=$mydir/${pair%* *}
-        else
-          path=$mydir/
-        fi
-        uri=${pair#* *}
-        emit_message
-        emit_message "  Tested: $uri"
-        if [ ${uri%.dtd} != $uri ]; then
-          response="$(java org.apache.xml.resolver.apps.resolver system -s $uri | grep "Result")"
-        else
-          response="$(java org.apache.xml.resolver.apps.resolver uri -u $uri | grep "Result")"
-        fi
-        if [ "$response" ]; then
-          if [ "${response#*$path}" != "$response" ]; then
-            emit_message "  Result: $path"
-          else
-            emit_message "  Result: FAILED"
-          fi
-          echo
-        fi
-      done < $mydir/.urilist
-    fi
-  fi
-}
-
-# get opts and execute appropriate function
-case $1 in
-  *-uninstall)
-  uninstall $2 $3 $4
-  ;;
-  *-test)
-  testCatalogs
-  ;;
-  *)
-  main
-  ;;
-esac
-
-# Copyright
-# ---------
-# Copyright 2005-2007 Michael(tm) Smith <smith@sideshowbarker.net>
-# 
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use, copy,
-# modify, merge, publish, distribute, sublicense, and/or sell copies
-# of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-# 
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-
-# vim: number