Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Staging:A
docbook-xsl-stylesheets
dbxslt-install.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dbxslt-install.sh of Package docbook-xsl-stylesheets
#!/bin/bash # # Installs the DocBook XSL Stylesheets on openSUSE systems # # Author: Thomas Schraitle # Copyright (C) 2013 toms@opensuse.org # # set -x ME=${0##*/} PACKAGE=docbook-xsl-stylesheets PACKAGE_DIR=docbook-xsl PACKAGE_VERSION=@VERSION@ #---------------------------------------------------------------------- # System variables BUILDROOT= PREFIX=/usr BINDIR=bin DATAROOTDIR=share DATADIR=$DATAROOTDIR DOCDIR=$DATAROOTDIR/doc/packages SYSCONFDIR=/etc XMLCONFDIR=$SYSCONFDIR/xml XMLDIR=$DATAROOTDIR/xml DBSTYLE_CATALOG=$PACKAGE.xml DBSTYLE_DIR=$XMLDIR/docbook/stylesheet/nwalsh ORIG_DBSTYLE_DIR=$PREFIX/$DBSTYLE_DIR function exit_on_error() { local result result=${2:-1} echo "ERROR: ${1}" >&2 exit $result; } function my_debug() { # Syntax: my_debug "MESSAGE" [MORE ARGUMENTS...] # Prints debug messages, if DEBUG_SCRIPT is non-empty if [[ "$DEBUG_SCRIPT" ]]; then echo -e "[debug] ${0}: $@\n" >&2; fi } function usage() { cat << EOF Installs the DocBook XSL Stylesheets Usage: $ME [OPTIONS] Fine tuning of the installation directories: --buildroot=DIR build root directory [] --prefix=DIR [/usr] --bindir=DIR user executables [PREFIX/bin] --sysconfdir=DIR read-only single-machine data [/etc] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --docdir=DIR documentation root [DATAROOTDIR/doc/packages] Package options: --package-name=NAME name of the package [$PACKAGE] --package-dir=NAME name of the package directory [$PACKAGE_DIR] --package-version=VERSION version of the package [$PACKAGE_VERSION] EOF } function printvariables() { cat << EOF package=$PACKAGE package-version=$PACKAGE_VERSION buildroot=$BUILDROOT prefix=$PREFIX bindir=$BINDIR datarootdir=$DATAROOTDIR datadir=$DATADIR sysconfdir=$SYSCONFDIR xmlconfdir=$XMLCONFDIR docdir=$DOCDIR xmldir=$XMLDIR xsltrootdir=$XSLTROOTDIR dbstyle_catalog=$DBSTYLE_CATALOG dbstyle_catalog_entry=${DBSTYLE_CATALOG_ENTRY} dbstyle_dir=$DBSTYLE_DIR EOF } #---------------------------------------------------------------------- # DEBUG_SCRIPT= DB4_XSLT_URL="http://docbook.sourceforge.net/release/xsl/" DB5_XSLT_URL="http://docbook.sourceforge.net/release/xsl-ns/" # Installation directories DBXSLT_DIRS="assembly common eclipse epub epub3 extensions fo images \ highlighting html htmlhelp lib javahelp manpages profiling roundtrip slides \ template webhelp website xhtml xhtml-1_1 xhtml5" DBXSLT_FILES="catalog.xml VERSION VERSION.xsl REVISION" # Without INSTALL DBXSLT_DOCFILES="params AUTHORS BUGS COPYING NEWS.html NEWS.xml README REVISION TODO \ RELEASE-NOTES.html RELEASE-NOTES.pdf RELEASE-NOTES.txt RELEASE-NOTES.xml" #---------------------------------------------------------------------- # printing help / catching errors # if [[ -z "$1" ]]; then usage printvariables exit fi longopt="help,debug,package-name:,package-version:,\ bindir:,prefix:,datarootdir:,datadir:,docdir:,sysconfdir:,buildroot:" export POSIXLY_CORRECT=1 ARGS=$(getopt -o h,d -l $longopt -n $ME -- "$@") eval set -- "$ARGS" while true ; do case "$1" in -h|--help) usage # printvariables exit ;; -d|--debug) DEBUG_SCRIPT=1 shift ;; # --package-name) PACKAGE=$2 shift 2 ;; --package-version) PACKAGE_VERSION="$2" shift 2 ;; # --buildroot) BUILDROOT=$2 shift 2 ;; --bindir) BINDIR=$2 shift 2 ;; --prefix) PREFIX=$2 shift 2 ;; --datarootdir) DATAROOTDIR=$2 shift 2 ;; --datadir) DATADIR=$2 shift 2 ;; --docdir) DOCDIR=$2 shift 2 ;; --sysconfdir) SYSCONFDIR=$2 shift 2 ;; --printvariables) printvariables exit ;; --) break ;; esac done unset POSIXLY_CORRECT PREFIX=$BUILDROOT$PREFIX BINDIR=$PREFIX/$BINDIR DATAROOTDIR=$PREFIX/$DATAROOTDIR DATADIR=$PREFIX/$DATADIR DOCDIR=$PREFIX/$DOCDIR SYSCONFDIR=$BUILDROOT$SYSCONFDIR XMLCONFDIR=$BUILDROOT/$XMLCONFDIR XMLDIR=$PREFIX/$XMLDIR XSLTROOTDIR=$PREFIX/$XSLTROOTDIR # XSLTDIR=$PREFIX/$XSLTDIR DBSTYLE_CATALOG=$PACKAGE.xml DBSTYLE_CATALOG_ENTRY=for-catalog-${PACKAGE}-${PACKAGE_VERSION}.xml DBSTYLE_DIR=$XMLDIR/docbook/stylesheet/nwalsh printvariables #---------------------------------------------------------------------- # # function create_directory_structure() { local i my_debug "\n\n=== Create directory structure ===" for i in $PREFIX $BINDIR $DATAROOTDIR $DATADIR $XMLCONFDIR $DOCDIR/$PACKAGE/html $DBSTYLE_DIR/$PACKAGE_VERSION; do mkdir ${DEBUG_SCRIPT:+-v} -p $i [[ $? -ne 0 ]] && exit_on_error "Could not create $i directory" done } #---------------------------------------------------------------------- # # function install_dbxsltdirs() { my_debug "\n\n=== Install all DocBook XSL stylesheet directories ===" cp ${DEBUG_SCRIPT:+-v} -a $DBXSLT_DIRS $DBSTYLE_DIR/$PACKAGE_VERSION } function create_link() { my_debug "\n\n=== Create link ===" pushd $DBSTYLE_DIR 2>/dev/null ln -s $PACKAGE_VERSION current popd } function install_scripts() { my_debug "\n\n=== Install scripts ===" install ${DEBUG_SCRIPT:+-v} -m755 fo/pdf2index $BINDIR install ${DEBUG_SCRIPT:+-v} -m755 epub/bin/dbtoepub $BINDIR install ${DEBUG_SCRIPT:+-v} -m755 slides/images/callouts/gen.sh $BINDIR/callout-gen # rm fo/pdf2index epub/bin/dbtoepub slides/images/callouts/gen.sh } function install_dbxsltfiles() { my_debug "\n\n=== Install other files ===" cp ${DEBUG_SCRIPT:+-v} -a $DBXSLT_FILES $DBSTYLE_DIR/$PACKAGE_VERSION } function install_dbxsltdocfiles() { my_debug "\n\n=== Install documentation ===" my_debug " Current dir: $PWD" for i in "$DBXSLT_DOCFILES"; do cp ${DEBUG_SCRIPT:+-v} -a $i $DOCDIR/$PACKAGE done } function create_dbxslt_catalog() { my_debug "\n\n=== Create catalog file ===" # /etc/xml/docbook-xsl-stylesheets.xml xmlcatalog --noout --create $XMLCONFDIR/$DBSTYLE_CATALOG } function create_dbxslt_addentries() { my_debug "\n\n=== Create entries in the catalog file ===" xmlcatalog --noout --add "rewriteSystem" \ "${DB4_XSLT_URL}${PACKAGE_VERSION}" \ "file://$ORIG_DBSTYLE_DIR/${PACKAGE_VERSION}" $XMLCONFDIR/$DBSTYLE_CATALOG xmlcatalog --noout --add "rewriteURI" \ "${DB4_XSLT_URL}${PACKAGE_VERSION}" \ "file://$ORIG_DBSTYLE_DIR/$PACKAGE_VERSION" $XMLCONFDIR/$DBSTYLE_CATALOG xmlcatalog --noout --add "rewriteSystem" \ "${DB4_XSLT_URL}current" \ "file://$ORIG_DBSTYLE_DIR/current" $XMLCONFDIR/$DBSTYLE_CATALOG xmlcatalog --noout --add "rewriteURI" \ "${DB4_XSLT_URL}current" \ "file://$ORIG_DBSTYLE_DIR/current" $XMLCONFDIR/$DBSTYLE_CATALOG # # temporary file that is added to /etc/xml/suse-catalog.xml # during post # xmlcatalog --noout --create $XMLCONFDIR/${DBSTYLE_CATALOG_ENTRY} xmlcatalog --noout --add "delegateSystem" \ "${DB4_XSLT_URL}" \ "file:///etc/xml/${DBSTYLE_CATALOG}" $XMLCONFDIR/${DBSTYLE_CATALOG_ENTRY} sed -i -e "/<catalog/a\ <group id=\"${PACKAGE}\">" \ -e '/<\/catalog/i\ </group>' $XMLCONFDIR/${DBSTYLE_CATALOG_ENTRY} } function cleanup_buildroot() { rm $DBSTYLE_DIR/$PACKAGE_VERSION/fo/pdf2index \ $DBSTYLE_DIR/$PACKAGE_VERSION/epub/bin/dbtoepub \ $DBSTYLE_DIR/$PACKAGE_VERSION/slides/images/callouts/gen.sh } #---------------------------------------------------------------------- # MAIN # # [[ -e "$PACKAGE_DIR-$PACKAGE_VERSION" ]] || exit_on_error "Could not find directory $PACKAGE_DIR-$PACKAGE_VERSION" # # cd $PACKAGE_DIR-$PACKAGE_VERSION create_directory_structure # create_link install_dbxsltdirs install_dbxsltfiles install_scripts install_dbxsltdocfiles # create_dbxslt_catalog create_dbxslt_addentries cleanup_buildroot # EOF
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor