summaryrefslogtreecommitdiffstats
path: root/source/ap/linuxdoc-tools/linuxdoc-tools.build
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/ap/linuxdoc-tools/linuxdoc-tools.build
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/ap/linuxdoc-tools/linuxdoc-tools.build')
-rwxr-xr-xsource/ap/linuxdoc-tools/linuxdoc-tools.build946
1 files changed, 946 insertions, 0 deletions
diff --git a/source/ap/linuxdoc-tools/linuxdoc-tools.build b/source/ap/linuxdoc-tools/linuxdoc-tools.build
new file mode 100755
index 000000000..8d28ea332
--- /dev/null
+++ b/source/ap/linuxdoc-tools/linuxdoc-tools.build
@@ -0,0 +1,946 @@
+#!/bin/bash
+
+###############################################################################
+# Script: linuxdoc-tools.build
+# Purpose: Build & install all components that form the linuxdoc-tools
+# Slackware Package.
+# Credit: written by Stuart Winter <mozes@slackware.com>
+# with the docbook build code by Jerome Pinot <ngc891@gmail.com>
+# and some script code taken from Debian, Red Hat/Fedora &
+# Linux From Scratch documentation
+# http://www.linuxfromscratch.org/blfs/view/svn/index.html
+# http://cblfs.cross-lfs.org/index.php/Category:DocBook_SGML
+# Thanks guys! :-)
+###############################################################################
+
+# Version of LDT (which is also the .t?z package version)
+LINUXDOCTOOLSVER=0.9.56
+
+# Bundled package versions:
+SGMLDTD3VER=3.1
+SGMLDTD4VER=4.5
+XMLDTDVER=4.5
+XSLSTYLESHEETSVER=1.75.1
+DSSSLSTYLESHEETSVER=1.79
+SGMLCOMMONVER=0.6.3
+OPENJADEVER=1.3.3-pre1
+OPENSPVER=1.5.2
+GNOMEDOCUTILSVER=0.17.2
+GTKDOCVER=1.11
+SGMLSPLVER=1.03ii
+XMLTOVER=0.0.22
+ASCIIDOCVER=8.4.5
+DOCBOOKUTILSVER=0.6.14
+
+# Determine the general CFLAGS for the known architectures:
+case $ARCH in
+ arm) export SLKCFLAGS="-O2 -march=armv4t"
+ export LIBDIRSUFFIX=""
+ export HOSTTARGET="-gnueabi"
+ ;;
+ i486) export SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ export LIBDIRSUFFIX=""
+ export HOSTTARGET=""
+ ;;
+ s390) export SLKCFLAGS="-O2"
+ export LIBDIRSUFFIX=""
+ export HOSTTARGET=""
+ ;;
+ x86_64) export SLKCFLAGS="-O2 -fPIC"
+ export LIBDIRSUFFIX="64"
+ export HOSTTARGET=""
+ ;;
+esac
+
+# The build order is purposive.
+# The build order for the XML style sheets & docbook stuff comes from
+# the Linux from Scratch documentation; the other rest is because of
+# dependency build order.
+
+####################### Build AsciiDoc ##############################
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/asciidoc-$ASCIIDOCVER.tar.gz || exit 1
+cd asciidoc-$ASCIIDOCVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --docdir=/usr/doc/asciidoc-$ASCIIDOCVER \
+ --mandir=/usr/man || exit 1
+
+# Install:
+make install && make docs || exit 1
+find /etc/asciidoc -type f -print0 | xargs -0 chmod 644
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/asciidoc-$ASCIIDOCVER
+cp -fav \
+ BUGS CHANGELOG COPY* README \
+ /usr/doc/asciidoc-$ASCIIDOCVER/
+
+####################### Build sgml-common ############################
+
+# Extract source. We're using a source RPM since it contains a number of
+# patches that we need:
+cd $TMP
+rpm2tgz $CWD/sources/sgml-common-${SGMLCOMMONVER}*.src.rpm
+tar xvf sgml-common-*src.tgz
+cd sgml-common-$SGMLCOMMONVER-* || exit 1
+# The real source archive is stored inside the source RPM, you see:
+tar xvf sgml-common-$SGMLCOMMONVER.tgz || exit 1
+cd sgml-common-$SGMLCOMMONVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches (these are included in the source rpm):
+for i in \
+ sgml-common-0.6.3-docdir.patch \
+ sgml-common-automake.patch \
+ sgml-common-quotes.patch \
+ sgml-common-umask.patch ; do
+ patch --verbose -p1 < ../$i
+done || exit 1
+
+# Configure:
+#aclocal
+#automake --add-missing --copy
+autoreconf -vif
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --with-docdir=/usr/doc \
+ --sysconfdir=/etc \
+ || exit 1
+
+# Build & install:
+make -e 'mkdir_p=mkdir -p' install || exit 1
+
+# Create catalog:
+install-catalog --add /etc/sgml/sgml-ent.cat \
+ /usr/share/sgml/sgml-iso-entities-8879.1986/catalog
+install-catalog --add /etc/sgml/sgml-docbook.cat \
+ /etc/sgml/sgml-ent.cat
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/sgml-common-$SGMLCOMMONVER
+cp -fav \
+ COPYING AUTHORS INSTALL NEWS README ChangeLog ../sgml-common-CHANGES \
+ /usr/doc/sgml-common-$SGMLCOMMONVER
+
+####################### Install docbooks ############################
+
+# Extract source:
+cd $TMP
+mkdir sgml-dtd
+cd sgml-dtd
+# Debian handily package all docbooks past and present in one archive
+# but they version number the archive with the latest version.
+tar xvf $CWD/sources/docbook_*orig*.tar.gz
+cd docbook* || exit 1
+zcat $CWD/sources/docbook_*.diff.gz | patch -p1 || exit 1
+# Don't apply the patches because whilst I know that the problem we have
+# on Slackware does not exist on Debian, I want to keep the Slackware
+# build in line with Linux From Scratch, since their documentation is
+# excellent.
+#for i in debian/patches/*.dpatch ; do patch --verbose -p1 < $i ; done
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+
+###############
+## sgml-dtd3 ##
+###############
+
+( cd docbook-$SGMLDTD3VER
+
+ # Remove the ENT definitions from the catalog file:
+ sed -i -e '/ISO 8879/d' docbook.cat
+ # Replace the DTDDECL catalog entry, which is not supported by Linux SGML tools,
+ # with the SGMLDECL catalog entry
+ sed -i -e 's|DTDDECL "-//OASIS//DTD Docbook V3.1//EN"|SGMLDECL|g' docbook.cat
+
+ # Install:
+ mkdir -vpm755 /etc/sgml
+ mkdir -vpm755 /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD3VER
+ install -vpm644 docbook.cat /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD3VER/catalog
+ install -vpm644 *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD3VER/
+
+ # Update SGML catalog:
+ install-catalog --add /etc/sgml/sgml-docbook-dtd-$SGMLDTD3VER.cat \
+ /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD3VER/catalog
+ install-catalog --add /etc/sgml/sgml-docbook-dtd-$SGMLDTD3VER.cat \
+ /etc/sgml/sgml-docbook.cat
+
+# Use only the most current 3.x version of DocBook SGML DTD:
+cat >> /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD3VER/catalog << "EOF"
+ -- Begin Single Major Version catalog changes --
+
+PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "docbook.dtd"
+
+ -- End Single Major Version catalog changes --
+EOF
+
+ # Copy docs:
+ mkdir -vpm755 /usr/doc/sgml-dtd-$SGMLDTD3VER
+ cp -fav \
+ ChangeLog *.txt \
+ /usr/doc/sgml-dtd-$SGMLDTD3VER/
+)
+
+###############
+## sgml-dtd4 ##
+###############
+# For reference:
+# http://cblfs.cross-lfs.org/index.php/DocBook_SGML_DTD-4.x
+# http://www.linuxfromscratch.org/blfs/view/svn/pst/sgml-dtd.html
+
+
+( cd docbook-$SGMLDTD4VER
+
+ # Remove the ENT definitions from the catalog file:
+ sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat
+
+ # Install:
+ mkdir -vpm755 /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER
+ install -vpm644 docbook.cat /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER/catalog
+ cp -fav *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER
+ # Update SGML catalog:
+ install-catalog --add /etc/sgml/sgml-docbook-dtd-$SGMLDTD4VER.cat \
+ /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER/catalog
+ install-catalog --add /etc/sgml/sgml-docbook-dtd-$SGMLDTD4VER.cat \
+ /etc/sgml/sgml-docbook.cat
+
+ # Use only the most current 4.x version of DocBook SGML DTD :
+ # When you upgrade sgml-dtd4, put the PREVIOUS version number in
+ # with the lines below.
+cat << EOF >> /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER/catalog
+ -- Begin Single Major Version catalog changes --
+EOF
+for i in 4.4 4.3 4.2 4.1 4.0; do
+cat << EOF >> /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER/catalog
+PUBLIC "-//OASIS//DTD DocBook V${i}//EN" "docbook.dtd"
+EOF
+done
+cat << EOF >> /usr/share/sgml/docbook/sgml-dtd-$SGMLDTD4VER/catalog
+
+ -- End Single Major Version catalog changes --
+EOF
+
+ # Copy docs:
+ mkdir -vpm755 /usr/doc/sgml-dtd4-$SGMLDTD4VER
+ cp -fav \
+ ChangeLog README \
+ /usr/doc/sgml-dtd4-$SGMLDTD4VER/
+
+)
+
+####################### Build OpenSP ############################
+
+# Extract source:
+cd $TMP
+rpm2tgz $CWD/sources/opensp-${OPENSPVER}*.src.rpm
+tar xvf opensp*src.tgz
+cd opensp-${OPENSPVER}* || exit 1
+tar xvf OpenSP-$OPENSPVER.tar.gz || exit 1
+cd OpenSP-$OPENSPVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+sed -i 's:32,:253,:' lib/Syntax.cxx
+sed -i 's:LITLEN 240 :LITLEN 8092:' unicode/{gensyntax.pl,unicode.syn}
+
+# Stop OpenJade from segfaulting:
+patch --verbose -p1 < ../opensp-sigsegv.patch || exit 1
+
+# Configure without optimisation. OpenSP & OpenJade
+# are sensitive to optimisations, resulting in segfaults,
+# particularly on the ARM platform.
+#
+# This is configured not to build the documentation. If anybody really needs
+# it, let me know and I'll adjust the build script - it's just a PITA to
+# get working.
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --datadir=/usr/share \
+ --infodir=/usr/info \
+ --disable-dependency-tracking \
+ --disable-static \
+ --disable-doc-build \
+ --enable-http \
+ --enable-default-catalog=/etc/sgml/catalog \
+ --enable-default-search-path=/usr/share/sgml \
+ || exit 1
+
+# Build:
+make pkgdatadir=/usr/share/sgml/OpenSP-$OPENSPVER || exit 1
+
+# Install:
+make install DESTDIR=/ || exit 1
+
+# This allows OpenJade to link with OpenSP.
+( cd /usr/lib${LIBDIRSUFFIX} && ln -vsf libosp.so libsp.so )
+
+# Rename sx to sgml2xml & create symlinks:
+mv -f /usr/bin/osx /usr/bin/osgml2xml
+( cd /usr/bin ; ln -vfs osgml2xml osx )
+mv -f /usr/man/man1/osx.1 /usr/man/man1/osgml2xml.1
+( cd /usr/man/man1 ; ln -vfs osgml2xml.1 osx.1 )
+
+# Create symlinks to binaries:
+( cd /usr/bin
+ for file in nsgmls sgmlnorm spam spent sgml2xml ; do
+ rm -f $file
+ ln -vfs o$file $file
+ done
+)
+
+# Fix man pages:
+( cd /usr/man/man1
+ for file in nsgmls sgmlnorm spam spent sgml2xml ; do
+ rm -f ${file}.1*
+ ln -vfs o${file}.1 ${file}.1
+ done
+)
+
+# Rename docs directory:
+mv -fv /usr/doc/OpenSP /usr/doc/OpenSP-$OPENSPVER
+
+####################### Build OpenJade ############################
+# Reference:
+# http://cblfs.cross-lfs.org/index.php/OpenJade
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/openjade-${OPENJADEVER}.tar.gz
+cd openjade-${OPENJADEVER} || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches:
+sed -i "s/iostream.h/iostream/g" style/MultiLineInlineNote.cxx
+
+# Configure without optimisation.
+# OpenSP & OpenJade are sensitive to optimisations and can result
+# in segfaults with anything other than O2 - particularly on the ARM
+# platform.
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-splibdir=/usr/lib${LIBDIRSUFFIX} \
+ --disable-static \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --enable-http \
+ --enable-default-catalog=/etc/sgml/catalog \
+ --enable-default-search-path=/usr/share/sgml \
+ --datadir=/usr/share/sgml/openjade-$OPENJADEVER \
+ || exit 1
+
+# Build:
+make || exit 1
+
+# Install:
+mkdir -p /etc/sgml
+make install || exit 1
+make install-man || exit 1
+( cd /usr/bin && ln -vfs openjade jade )
+( cd /usr/man/man1 && ln -vfs openjade.1 jade.1 )
+ln -vsf libogrove.so /usr/lib${LIBDIRSUFFIX}/libgrove.so
+ln -vsf libospgrove.so /usr/lib${LIBDIRSUFFIX}/libspgrove.so
+ln -vsf libostyle.so /usr/lib${LIBDIRSUFFIX}/libstyle.so
+install -vpm644 dsssl/catalog /usr/share/sgml/openjade-$OPENJADEVER
+install -vpm644 dsssl/*.{dtd,dsl,sgm} /usr/share/sgml/openjade-$OPENJADEVER
+
+# Update SGML catalog:
+install-catalog --add /etc/sgml/openjade-$OPENJADEVER.cat \
+ /usr/share/sgml/openjade-$OPENJADEVER/catalog
+install-catalog --add /etc/sgml/sgml-docbook.cat \
+ /etc/sgml/openjade-$OPENJADEVER.cat
+
+# Update system configuration:
+echo "SYSTEM \"http://www.oasis-open.org/docbook/xml/${XMLDTDVER}/docbookx.dtd\" \
+ \"/usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/docbookx.dtd\"" >> \
+ /usr/share/sgml/openjade-${OPENJADEVER}/catalog
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/openjade-$OPENJADEVER
+cp -fav \
+ COPYING NEWS README VERSION \
+ doc/* dsssl/README.jadetex pubtext jadedoc unicode \
+ /usr/doc/openjade-$OPENJADEVER
+
+# The original package has this file, but it has most of the world's
+# documentation too; we'll leave it in for the time being but I don't like it.
+#rm -f /usr/doc/openjade-$OPENJADEVER/doc/Makefile
+
+####################### Build dsssl-stylesheets ####################
+
+# Extract source:
+cd $TMP
+mkdir docbook-dsssl-$DSSSLSTYLESHEETSVER
+cd docbook-dsssl-$DSSSLSTYLESHEETSVER
+tar xvf $CWD/sources/docbook-dsssl-$DSSSLSTYLESHEETSVER.tar.bz2 || exit 1
+tar xvf $CWD/sources/docbook-dsssl-doc-$DSSSLSTYLESHEETSVER.tar.bz2 || exit 1
+cd docbook-dsssl-$DSSSLSTYLESHEETSVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Install:
+install -pm755 bin/collateindex.pl /usr/bin
+install -pm644 bin/collateindex.pl.1 /usr/man/man1
+# Eeek! Debian trim this down but we'll leave it for the moment:
+mkdir -vpm755 /usr/share/sgml/docbook/dsssl-stylesheets-$DSSSLSTYLESHEETSVER/common
+cp -fav * /usr/share/sgml/docbook/dsssl-stylesheets-$DSSSLSTYLESHEETSVER
+
+# Update catalog:
+install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \
+ /usr/share/sgml/docbook/dsssl-stylesheets-$DSSSLSTYLESHEETSVER/catalog
+install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \
+ /usr/share/sgml/docbook/dsssl-stylesheets-$DSSSLSTYLESHEETSVER/common/catalog
+install-catalog --add /etc/sgml/sgml-docbook.cat \
+ /etc/sgml/dsssl-docbook-stylesheets.cat
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/dsssl-stylesheets-$DSSSLSTYLESHEETSVER
+cp -fav \
+ WhatsNew VERSION RELEASE-NOTES.txt README ChangeLog BUGS \
+ /usr/doc/dsssl-stylesheets-$DSSSLSTYLESHEETSVER
+cp -fav \
+ frames/README \
+ /usr/doc/dsssl-stylesheets-$DSSSLSTYLESHEETSVER/README.frames
+
+####################### Build docbook-utils ########################
+
+# docbook-utils requires some of the docbook docs to be installed
+# prior to being built.
+
+# Extract source:
+cd $TMP
+rpm2tgz $CWD/sources/docbook-utils-${DOCBOOKUTILSVER}*.src.rpm
+tar xvf docbook-utils-*src.tgz
+cd docbook-utils-${DOCBOOKUTILSVER}* || exit 1
+tar xvf docbook-utils-$DOCBOOKUTILSVER.tar.gz || exit 1
+cd docbook-utils-$DOCBOOKUTILSVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches:
+for i in \
+ docbook-utils-2ndspaces.patch \
+ docbook-utils-grepnocolors.patch \
+ docbook-utils-spaces.patch \
+ docbook-utils-w3mtxtconvert.patch ; do
+ patch --verbose -p1 < ../$i
+done || exit 1
+
+# Configure:
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ || exit 1
+
+# Build:
+make || exit 1
+
+# Install:
+make install htmldir=/usr/doc/docbook-utils-$DOCBOOKUTILSVER/html || exit 1
+
+# db2html is not just a symlink, as it has to create the output directory:
+rm -f /usr/bin/db2html
+install -vpm755 ../db2html /usr/bin
+install -vpm644 ../gdp-both.dsl /usr/share/sgml/docbook/utils-$DOCBOOKUTILSVER/docbook-utils.dsl
+
+# Make binary symlinks:
+( cd /usr/bin
+ for util in dvi html pdf ps rtf ; do
+ rm -f db2$util
+ ln -vfs docbook2$util db2$util
+ done
+)
+
+# Make man page symlinks:
+( cd /usr/man/man1
+ for util in dvi html pdf ps rtf ; do
+ rm -f db2$util.1*
+ ln -vfs jw.1 db2$util.1
+ done
+)
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/docbook-utils-$DOCBOOKUTILSVER
+cp -fav \
+ AUTHORS NEWS README TODO \
+ /usr/doc/docbook-utils-$DOCBOOKUTILSVER
+
+############################
+## xml-dtd / docbook-xml ##
+############################
+
+# Extract source:
+cd $TMP
+mkdir xml-dtd-$XMLDTDVER
+cd xml-dtd-$XMLDTDVER
+unzip $CWD/sources/docbook-xml-$XMLDTDVER.zip || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Install 4.x catalog:
+mkdir -vpm755 /usr/share/xml/docbook/xml-dtd-$XMLDTDVER
+cp -fav docbook.cat *.dtd *.mod ent/ \
+ /usr/share/xml/docbook/xml-dtd-$XMLDTDVER
+
+# Use the Unicode-4 entities from sgml-common to fix errors such as
+# "1D6C2" is not a character number in the document character set
+( cd /usr/share/xml/docbook/xml-dtd-$XMLDTDVER/ent
+ rm -fv isogrk4.ent
+ ln -vfs ../../../../sgml/xml-iso-entities-*.*/ISOgrk4.ent isogrk4.ent )
+
+# Create config files:
+mkdir -vpm755 /etc/xml
+
+# This code is taken directly from:
+# http://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html#DocBook
+#
+# Populate /etc/xml/docbook:
+#
+if [ ! -e /etc/xml/docbook ]; then
+ xmlcatalog --noout --create /etc/xml/docbook
+fi &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML V${XMLDTDVER}//EN" \
+ "http://www.oasis-open.org/docbook/xml/${XMLDTDVER}/docbookx.dtd" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML CALS Table Model V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/calstblx.dtd" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/soextblx.dtd" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Information Pool V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/dbpoolx.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/dbhierx.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/htmltblx.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Notations V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/dbnotnx.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Character Entities V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/dbcentx.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Additional General Entities V${XMLDTDVER}//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}/dbgenent.mod" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "rewriteSystem" \
+ "http://www.oasis-open.org/docbook/xml/${XMLDTDVER}" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}" \
+ /etc/xml/docbook &&
+xmlcatalog --noout --add "rewriteURI" \
+ "http://www.oasis-open.org/docbook/xml/${XMLDTDVER}" \
+ "file:///usr/share/xml/docbook/xml-dtd-${XMLDTDVER}" \
+ /etc/xml/docbook
+
+#
+# Populate /etc/xml/catalog:
+#
+if [ ! -e /etc/xml/catalog ]; then
+ xmlcatalog --noout --create /etc/xml/catalog
+fi &&
+xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//ENTITIES DocBook XML" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog &&
+xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//DTD DocBook XML" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog &&
+xmlcatalog --noout --add "delegateSystem" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog &&
+xmlcatalog --noout --add "delegateURI" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog
+
+# Rewrites for older docbooks. This allows older docbooks to be referenced.
+# It means, however, that you __*shouldn't* have these older docbooks__
+# installed on your system;
+# so if you just keep the Slackware linuxdoc-tools package you'll be fine:
+#
+for DTDVERSION in 4.1.2 4.2 4.3 4.4
+do
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \
+ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
+ /etc/xml/docbook
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
+ "file:///usr/share/xml/docbook/xml-dtd-$XMLDTDVER" \
+ /etc/xml/docbook
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
+ "file:///usr/share/xml/docbook/xml-dtd-$XMLDTDVER" \
+ /etc/xml/docbook
+ xmlcatalog --noout --add "delegateSystem" \
+ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog
+ xmlcatalog --noout --add "delegateURI" \
+ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
+ "file:///etc/xml/docbook" \
+ /etc/xml/catalog
+done
+
+# Copy docs:
+mkdir -pm755 /usr/doc/xml-dtd-$XMLDTDVER
+cp -favv \
+ ChangeLog README \
+ /usr/doc/xml-dtd-$XMLDTDVER
+
+###############################
+## docbook-xsl (stylesheets) ##
+###############################
+
+# Extract source:
+cd $TMP
+mkdir docbook-xsl-$XSLSTYLESHEETSVER
+cd docbook-xsl-$XSLSTYLESHEETSVER
+rpm2tgz $CWD/sources/docbook-style-xsl-${XSLSTYLESHEETSVER}*.src.rpm
+tar xvf docbook-style-xsl*.tgz
+cd docbook-style-xsl-$XSLSTYLESHEETSVER* || exit 1
+tar xvf docbook-xsl-$XSLSTYLESHEETSVER.tar.bz2
+# This unpacks atop of the main tree:
+tar xvf docbook-xsl-doc-$XSLSTYLESHEETSVER.tar.bz2
+
+# Enter unpacked sources:
+cd docbook-xsl-$XSLSTYLESHEETSVER
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches:
+for i in \
+ docbook-xsl-list-item-body.patch \
+ docbook-xsl-marginleft.patch \
+ docbook-xsl-newmethods.patch \
+ docbook-xsl-non-constant-expressions.patch \
+ docbook-xsl-pagesetup.patch ; do
+ patch --verbose -p1 < ../$i
+done || exit 1
+
+# Install:
+mkdir -vpm755 /usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER
+cp -fav \
+ VERSION common eclipse extensions fo highlighting html \
+ htmlhelp images javahelp lib manpages params profiling \
+ slides template tools website wordml xhtml \
+ /usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER
+
+# Create config files:
+if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi
+if [ ! -f /etc/xml/catalog ]; then
+ xmlcatalog --noout --create /etc/xml/catalog
+fi
+
+# Configure system:
+xmlcatalog --noout --add "rewriteSystem" \
+ "http://docbook.sourceforge.net/release/xsl/$XSLSTYLESHEETSVER" \
+ "/usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER" \
+ /etc/xml/catalog
+
+xmlcatalog --noout --add "rewriteURI" \
+ "http://docbook.sourceforge.net/release/xsl/$XSLSTYLESHEETSVER" \
+ "/usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER" \
+ /etc/xml/catalog
+
+xmlcatalog --noout --add "rewriteSystem" \
+ "http://docbook.sourceforge.net/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER" \
+ /etc/xml/catalog
+
+xmlcatalog --noout --add "rewriteURI" \
+ "http://docbook.sourceforge.net/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-$XSLSTYLESHEETSVER" \
+ /etc/xml/catalog
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/docbook-xsl-$XSLSTYLESHEETSVER
+cp -fav doc/* README* RELEASE-NOTES* NEWS* \
+ /usr/doc/docbook-xsl-$XSLSTYLESHEETSVER
+
+####################### Build xmlto ################################
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/xmlto-$XMLTOVER.tar.bz2 || exit 1
+cd xmlto-$XMLTOVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ || exit 1
+
+# Build:
+make || exit 1
+
+# Install:
+make install || exit 1
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/xmlto-$XMLTOVER
+cp -fav \
+ AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README \
+ /usr/doc/xmlto-$XMLTOVER
+
+####################### Build SGMLSPL ##############################
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/libsgmls-perl_$SGMLSPLVER.orig.tar.gz || exit 1
+cd libsgmls-perl-$SGMLSPLVER.orig
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+zcat $CWD/sources/libsgmls-perl_$SGMLSPLVER-*.diff.gz | patch -p1 || exit 1
+
+# Configure:
+perl Makefile.PL INSTALLDIRS=vendor || exit 1
+sed -i 's?/share/man?/man/?g' Makefile
+
+# Build:
+make OPTIMIZE="$SLKCFLAGS" || exit 1
+
+# Install:
+make install PREFIX=/usr
+sed 's?usr/share/doc/sgmls-doc/?usr/doc/sgmlspl-'"$SGMLSPLVER"'/?g' sgmlspl.1 > /usr/man/man1/sgmlspl.1
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/sgmlspl-$SGMLSPLVER
+cp -fav \
+ BUGS COPYING README TODO \
+ /usr/doc/sgmlspl-$SGMLSPLVER
+cp -fav \
+ DOC/HTML/{SGMLSpm,sgmlspl} \
+ /usr/doc/sgmlspl-$SGMLSPLVER
+
+####################### Build linuxdoc-tools ########################
+
+# Extract source:
+cd $TMP
+#rpm2tgz $CWD/sources/linuxdoc-tools-${LINUXDOCTOOLSVER}*.src.rpm
+#tar xvf linuxdoc-tools-$LINUXDOCTOOLSVER*.tgz
+#cd linuxdoc-tools-$LINUXDOCTOOLSVER* || exit 1
+#tar xvf linuxdoc-tools_$LINUXDOCTOOLSVER.tar.gz
+tar xvf $CWD/sources/linuxdoc-tools_$LINUXDOCTOOLSVER*.tar.gz
+cd linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches (these are included in the source rpm):
+#for i in \
+# linuxdoc-tools-0.9.13-letter.patch \
+# linuxdoc-tools-0.9.20-lib64.patch ; do
+# patch --verbose -p1 < ../$i
+#done || exit 1
+# Add lib64 in Perl's path on a 64bit machine:
+patch --verbose -p1 < $CWD/sources/linuxdoc-tools.lib64.diff || exit 1
+
+# Find out what our Vendor perl directory is:
+eval $(perl '-V:installvendorlib')
+mkdir -p $PKG/$installvendorlib
+
+# Configure:
+./configure \
+ --prefix=/usr \
+ --with-perllibdir=$installvendorlib \
+ --mandir=/usr/man \
+ --with-installed-nsgmls \
+ --infodir=/usr/info \
+ || exit 1
+# --with-installed-iso-entities \
+# --with-texdir=/usr/share/texmf/tex/latex/ \
+
+# Adjust doc dir location:
+sed -i 's?share/doc/linuxdoc-tools?doc/linuxdoc-tools-'"$$LINUXDOCTOOLSVER"'?g' Makefile
+
+#( cd entity-map && autoconf && ./configure )
+
+# Build serial. This does build in parallel but
+# I find linuxdoc-tools to be fragile between versions:
+make \
+ perl5libdir=$PKG/$installvendorlib \
+ OPTIMIZE="$SLKCFLAGS" \
+ PERL=/usr/bin/perl \
+ DESTDIR=/ \
+ LINUXDOCDOC=/usr/doc/linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1
+
+# Install:
+make install \
+ PERL=/usr/bin/perl \
+ perl5libdir=$PKG/$installvendorlib \
+ DESTDIR=/ \
+ LINUXDOCDOC=/usr/doc/linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1
+
+# Install shell scripts for sgml2{txt,latex,info}
+for i in txt latex info; do \
+ install -vpm755 debian/addition/sgml2$$i \
+ /usr/bin/sgml2$$i; \
+done
+
+# Install info page:
+cat debian/linuxdoc-tools.info-base doc/guide.info > /usr/info/linuxdoc-sgml.info
+
+# This package contains a number of programs.
+# We maintain our own change log for this package. Since the package name is
+# 'linuxdoc-tools', let's put our changelog into here:
+install -vpm644 $CWD/ChangeLog.txt /usr/doc/linuxdoc-tools-$LINUXDOCTOOLSVER/Slackware-ChangeLog.txt
+
+####################### Build gnome-doc-utils #######################
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/gnome-doc-utils-$GNOMEDOCUTILSVER.tar.bz2
+cd gnome-doc-utils-*
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --disable-scrollkeeper \
+ --build=$ARCH-slackware-linux$HOSTTARGET || exit 1
+
+# No parallel build here because it doesn't work:
+make || exit 1
+
+# Install:
+make install DESTDIR=/ || exit 1
+
+# Copy docs:
+mkdir -p $PKG/usr/doc/gnome-doc-utils-$GNOMEDOCUTILSVER
+cp -fav \
+ AUTHORS ChangeLog COPYING* INSTALL NEWS README \
+ /usr/doc/gnome-doc-utils-$GNOMEDOCUTILSVER
+
+####################### Build gtk-doc ###############################
+
+# Extract source:
+cd $TMP
+tar xvf $CWD/sources/gtk-doc-$GTKDOCVER.tar.bz2 || exit 1
+cd gtk-doc-$GTKDOCVER
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+./configure \
+ --prefix=/usr \
+ --enable-public-id \
+ --disable-scrollkeeper \
+ || exit 1
+
+# Build:
+make || exit 1
+
+# Install:
+make install || exit 1
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/gtk-doc-$GTKDOCVER
+cp -fav \
+ AUTHORS COPYING INSTALL MAINTAINERS NEWS README TODO \
+ /usr/doc/gtk-doc-$GTKDOCVER
+
+#######################################################################
+
+# Install the package description:
+rm -rf /install
+mkdir -vpm755 /install
+install -vpm644 $CWD/slack-desc /install