diff options
author | 2013-03-22 16:47:17 -0700 | |
---|---|---|
committer | 2013-03-22 16:47:17 -0700 | |
commit | 69dd99f961988fa15da8d7f0d63b62f3385419c3 (patch) | |
tree | d57eb3e85e1d08e7815787de26946ee42c398b66 /source.local/ap/linuxdoc-tools | |
download | alienarm-69dd99f961988fa15da8d7f0d63b62f3385419c3.tar.gz alienarm-69dd99f961988fa15da8d7f0d63b62f3385419c3.tar.xz |
Initial commit of a Slackware cross-arch bootstrap framework.
Diffstat (limited to 'source.local/ap/linuxdoc-tools')
18 files changed, 1486 insertions, 0 deletions
diff --git a/source.local/ap/linuxdoc-tools/ChangeLog.txt b/source.local/ap/linuxdoc-tools/ChangeLog.txt new file mode 100644 index 0000000..53324c8 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/ChangeLog.txt @@ -0,0 +1,197 @@ +Sun May 15 03:42:16 UTC 2011 + Patrick Volkerding <volkerdi@slackware.com> + linuxdoc-tools 0.9.66, build 9 + Rebuild for perl-5.14.0. + +Mon Mar 21 17:39:48 UTC 2011 + Patrick Volkerding <volkerdi@slackware.com> + linuxdoc-tools 0.9.66, build 8 + Upgraded to gnome-doc-utils-0.20.4. + +Wed Jan 26 18:08:43 UTC 2011 + Patrick Volkerding <volkerdi@slackware.com> + linuxdoc-tools 0.9.66, build 7 + Rebuild for perl-5.12.3. + +Sat Jan 1 21:44:58 UTC 2011 + Patrick Volkerding <volkerdi@slackware.com> + linuxdoc-tools 0.9.66, build 6 + Rebuild for perl-5.12.2. + +Thu Nov 11 13:37:42 CST 2010 + Patrick Volkerding <volkerdi@slackware.com> + linuxdoc-tools 0.9.66, build 5 + Fixes: + * asciidoc: Patched to revert a change that broke processing the + documentation for git. + +Tue Oct 19 16:10:42 BST 2010 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools 0.9.66, build 4 + Upgraded a couple of component packages: + * gnome-doc-utils-0.20.2 + * asciidoc-8.6.2. + Fixes: + * gtk-doc: Patched to fix a problem with vim. + Thanks to Trev Carey-Smith for the report and Robby Workman for + finding the patch. + +Sun Jul 25 12:40:07 BST 2010 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools 0.9.66, build 3 + Upgraded a few component packages: + * Upgraded to gtk-doc-1.15 + * Upgraded to asciidoc-8.5.3 + * Upgraded to gnome-doc-tools-0.20.1 + Thanks to Steve Kennedy for the notification about the new version. + * Updated various packages to include more recent patches from Fedora. + * Changed build script to use rpm2cpio instead of rpm2tgz because + with different builds/versions of rpm2tgz (or "rpm" - I'm not sure + what causes the change) the "tgz" that is created flips back and + forth between having the content in a sub directory, or the root + of the archive. + Using rpm2cpio means that as a minimum you need seamonkey-solibs + installed because rpm2cpio requires libnss3.so. Mozilla-FireFox + & Thunderbird also contain this library. Slackware is built on a + full system, so this shouldn't pose a problem. + +Wed Feb 10 10:02:16 GMT 2010 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools 0.9.66, build 2. + * Applied an upstream patch to gtk-doc-1.13, fixing problems + with gtkdoc-fixxref. + * Updated build script to work with the new rpm2tgz which now + packages all src RPM contents into the root of the tar archive + rather than a sub directory. + +Tue Jan 12 20:42:57 GMT 2010 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools 0.9.66, build 1. + * Upgraded to linuxdoc-tools 0.9.66 + * Upgraded to gnome-doc-utils 0.19.1 + * Upgraded to gtk-doc 1.13 + * Upgraded to AsciiDoc 8.5.2. + * Upgraded to docbook-xsl 1.75.2. + * Upgraded to docbook-xsl-doc 1.75.2. + +Tue Nov 10 18:28:49 GMT 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.65, build 1. + * Upgraded to linuxdoc-tools 0.9.65 + * Upgraded to gnome-doc-utils-0.18.0 + * Upgraded to xmlto-0.0.23 + * Upgraded to asciidoc-8.5.1 + +Sun Aug 2 19:07:43 BST 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.56, build 5. + * Replace /usr/share/xml/docbook/xml-dtd-4.5/ent/isogrk4.ent with + the Unicode-4 entity map from sgml-common, to fix errors such as + ""1D6C2" is not a character number in the document character set" + Thanks to Niels Horn for the fix and Ron Parker for the report. + +Thu Jul 30 15:56:10 BST 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.56, build 4. +* Upgraded to: + docbook-xsl-1.75.1 + docbook-xsl-doc-1.75.1 + gnome-doc-utils-0.17.2 + asciidoc-8.4.5 + OpenJade-1.3.3-pre1 + +This package has a problem producing simple docbook documents +though, as reported by Ron Parker. + + For example: + # cat << EOF > /tmp/test.txt +Hello +this will not work yet +EOF + # asciidoc -b docbook /tmp/test.txt + # db2rtf /tmp/test.xml +You'll see this error: +jade:/usr/share/xml/docbook/xml-dtd-4.5/ent/isogrk4.ent:42:30:E: "1D6C2" is not a character number in the document character set + +I've been reading a few URLs: +http://lists.oasis-open.org/archives/docbook-apps/200511/msg00119.html +http://bugs.gentoo.org/238785 + +The majority of the build process for Docbook and supporting tools +is taken verbatim from Linux From Scratch: +http://www.linuxfromscratch.org/blfs/view/svn/index.html +I have in the past looked at Fedora and Debian spec & rules files +but LFS has great documentation and makes maintaining this package +a lot easier, so I'm very keen to keep to their build process +(including file/directory paths) as much as possible. + +If anybody knows how to resolve this, please let me know! + +Fri May 29 18:48:41 BST 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.56, build 3. + * Remove orphaned *.pyc (Python compiled) files. + The addition of GNOME doc-tools causes some Python *.py + files to be recompiled, resulting in them appearing in this + package. These files belonged to the Python package and + therefore caused an overlap. + +Mon May 25 14:29:26 BST 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.56, build 2. + * Added missing asciidoc filters. + Thanks to 'one forall' for the report. + Now use asciidoc's 'make install' target to install + rather than hand crafted script. + +Tue May 12 18:34:38 BST 2009 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.56, build 1. + * Upgraded to linuxdoc-tools 0.9.56 + * Patched OpenSP to prevent segfaulting on the ARM platform: + https://bugzilla.redhat.com/show_bug.cgi?id=245104 + * Added gnome-doc-utils-0.16.0, for gtkdoc. + * Upgraded to gtkdoc-1.11 + * Upgraded to xmlto-0.0.22 + * Upgraded to asciidoc-8.4.4 + +Thu Feb 28 17:47:21 CST 2008 <pjv> + Upgraded these source files: + asciidoc-8.2.5.tar.gz + docbook-utils-0.6.14-13.fc9.src.rpm + docbook-xsl-1.73.2.tar.bz2 + docbook-xsl-doc-1.73.2.tar.bz2 + gtk-doc-1.9.tar.bz2 + libsgmls-perl_1.03ii-32.diff.gz + linuxdoc-tools_0.9.21-0.11.tar.gz + sgml-common-0.6.3-23.fc9.src.rpm + xmlto-0.0.20.tar.bz2 + +Sat May 5 13:38:46 BST 2007 + Stuart Winter <mozes@slackware.com> + linuxdoc-tools-0.9.21, build 4 + * Converted from docbook RPM source builds to direct source build, with + the build script code by: Jerome Pinot + based on the Linux From Scratch documentation. + Merged some of Jerome's code back into the original linuxdoc-tools.build + script. + This fixes many bugs with the previous package, with broken catalogs + and so on. + * Upgraded to gtk-doc v1.8 + * Upgraded to DocBook SGML DTD v4.5 + * Upgraded to DocBook DSSSL Stylesheets v1.79 + * Upgraded to DocBook XML DTD v4.5 + * Upgraded to DocBook XSL Stylesheets v1.72.0 & docs + * Added AsciiDoc v8.2.1 + * Added xmlto v0.0.18 + * Removed unused build script code cruft from linuxdoc-tools.build + * Re-ordered the build script since OpenSP v1.5.2 requires xmlto, + and xmlto requires the docbook stuff to be installed. + * Removed buildDocBookCatalog script. If you delete your system's SGML or XML + catalog scripts, thinking that this script can repopulate them, it won't. + If you're adding docbook data to your system, you need to read the docs that + come with the new data you're installing. + * Thanks to Red Hat for the loan of a laptop on which to test this build ;-) + +Sat Oct 01 2005 + * Previous releases diff --git a/source.local/ap/linuxdoc-tools/arm/build b/source.local/ap/linuxdoc-tools/arm/build new file mode 100755 index 0000000..eb4f18c --- /dev/null +++ b/source.local/ap/linuxdoc-tools/arm/build @@ -0,0 +1,48 @@ +#!/bin/bash + +# armel/build +# Check package dependencies, set metadata and launch +# package build script. +# by Stuart Winter <stuart@armedslack.org> +# +source /usr/share/slackdev/buildkit.sh + +# Package metadata: +export PKGNAM=linuxdoc-tools +export VERSION=${VERSION:-0.9.66} +export PKGARCH=${PKGARCH:-arm} +export BUILD=${BUILD:-4} +export PKGSERIES=${PKGSERIES:-ap} +export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz +export PKGEXT=${PKGEXT:-tgz} + +# Ensure base ARM packages are installed first: +slackbasedeps + +# Ensure $PKGNAM isn't already installed: +slackfailpkgdeps $PKGNAM || removepkg $PKGNAM + +# Ensure specific build dependencies - libraries and development tools. +# There are many more dependencies but these are the core ones I picked out +# as I was building the software included within this package. +# +#slackcheckpkgdeps libxml2 || installpkg $PKGSTORE/l/libxml2-*.tgz +# to unpack some SRPMs: +#slackcheckpkgdeps rpm || installpkg $PKGSTORE/ap/rpm-*.tgz +# for OpenJade: +#slackcheckpkgdeps tetex || installpkg $PKGSTORE/t/tetex-[0-9]*.tgz +# for AsciiDoc: +#slackcheckpkgdeps python || installpkg $PKGSTORE/d/python-[0-9]*.tgz +# Ensure the packages are installed; exit if not. +#slackcheckpkgdeps python,libxml2,rpm,tetex || exit 99 + +# Stop daemons/processes which tend to modify the contents of the filesystem: +altertrackprep + +# Launch the package build script: +BUILDLOG=$( basename $SLACKPACKAGE .tgz ).build.log +# ( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG +( ./trackbuild.$PKGNAM ) >& /dev/stdout | tee $BUILDLOG + +# Compress the build log: +bzip2 -9fvz $BUILDLOG diff --git a/source.local/ap/linuxdoc-tools/linuxdoc-tools.SlackBuild b/source.local/ap/linuxdoc-tools/linuxdoc-tools.SlackBuild new file mode 100755 index 0000000..7c2f205 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/linuxdoc-tools.SlackBuild @@ -0,0 +1 @@ +./trackbuild.linuxdoc-tools diff --git a/source.local/ap/linuxdoc-tools/linuxdoc-tools.build b/source.local/ap/linuxdoc-tools/linuxdoc-tools.build new file mode 100755 index 0000000..1e86ec0 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/linuxdoc-tools.build @@ -0,0 +1,977 @@ +#!/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=$PKGVERSION + +# Bundled package versions: +SGMLDTD3VER=3.1 +SGMLDTD4VER=4.5 +XMLDTDVER=4.5 +XSLSTYLESHEETSVER=1.75.2 +DSSSLSTYLESHEETSVER=1.79 +SGMLCOMMONVER=0.6.3 +OPENJADEVER=1.3.3-pre1 +OPENSPVER=1.5.2 +GNOMEDOCUTILSVER=0.20.4 +GTKDOCVER=1.15 +SGMLSPLVER=1.03ii +XMLTOVER=0.0.23 +ASCIIDOCVER=8.6.2 +DOCBOOKUTILSVER=0.6.14 + +# Determine the general CFLAGS for the known architectures: +case $ARCH in + 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="" + ;; + armv7hl) export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + export LIBDIRSUFFIX="" + export HOSTTARGET="-gnueabi" + ;; + arm) export SLKCFLAGS="-O2 -march=armv4t" + export LIBDIRSUFFIX="" + export HOSTTARGET="-gnueabi" + ;; +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.*z* +cd asciidoc-$ASCIIDOCVER || 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 {} \; + +# Revert a change that breaks processing the git documentation: +xz -dc $CWD/sources/asciidoc.asciidoc7compatible.revertbrokenchange.diff.xz | patch --verbose -p1 || exit 1 + +# 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 +mkdir sgml-common && cd sgml-common +rpm2cpio $CWD/sources/sgml-common-${SGMLCOMMONVER}*.src.rpm | cpio -div || exit 1 +# The real source archive is stored inside the source RPM, you see: +tar xvf sgml-common-$SGMLCOMMONVER.tgz +cd sgml-common-$SGMLCOMMONVER || 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): +# Don't include the XML dir patch because we keep our stuff in /usr/share/sgml. +for i in \ + sgml-common-quotes.patch \ + sgml-common-umask.patch ; do + patch --verbose -p1 < ../$i +done || exit 1 + +# Configure: +# autoconf doesn't work anymore.. +#aclocal +#automake --add-missing --copy +#autoreconf -vif +# but this does.. +for file in COPYING INSTALL install-sh missing mkinstalldirs; do + rm -f $file + cp -fav /usr/share/automake-*/$file . +done +./configure \ + --prefix=/usr \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --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 \ + /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.*z* +cd docbook* || 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 {} \; + + +############### +## sgml-dtd3 ## +############### + +( cd docbook-$SGMLDTD3VER + pwd + + # 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 + pwd + + # 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 \ + README \ + /usr/doc/sgml-dtd4-$SGMLDTD4VER/ + +) + +####################### Build OpenSP ############################ + +# Extract source: +cd $TMP +mkdir opensp && cd opensp +rpm2cpio $CWD/sources/opensp-${OPENSPVER}*.src.rpm | cpio -div || exit 1 +tar xvf OpenSP-$OPENSPVER.tar.gz +cd OpenSP-$OPENSPVER || 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 {} \; + +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. Apparently -O1 will work but +# let's just leave it as is. +# +# 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 ) + +# Create symlinks to binaries: +( cd /usr/bin + for file in nsgmls sgmlnorm spam spent sgml2xml ; do + rm -fv $file + ln -vfs o$file $file + done +) + +# Fix man pages: +# Sorry, but OpenSP needs xmlto installed to create its man pages and documentation. +# Due to build dependency order, we build xmlto later on. I did try and move xmlto earlier +# in the build but didn't get the build order correct. If anybody REALLY misses this documentation, +# email mozes@slackware.com and I'll have another go at adjusting the build order. +# +# Building man pages has been disabled with ./configure --disable-doc-build. +# +#( cd /usr/man/man1 +# mv -fv osx.1 osgml2xml.1 +# ln -vfs osgml2xml.1 osx.1 +# 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.*z* +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 \ + /usr/doc/openjade-$OPENJADEVER + +####################### Build dsssl-stylesheets #################### + +# Extract source: +cd $TMP +mkdir docbook-dsssl-$DSSSLSTYLESHEETSVER +cd docbook-dsssl-$DSSSLSTYLESHEETSVER +tar xvf $CWD/sources/docbook-dsssl-$DSSSLSTYLESHEETSVER.tar.*z* || exit 1 +tar xvf $CWD/sources/docbook-dsssl-doc-$DSSSLSTYLESHEETSVER.tar.*z* || exit 1 +cd docbook-dsssl-$DSSSLSTYLESHEETSVER || 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: +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 +mkdir docbook-utils && cd docbook-utils +rpm2cpio $CWD/sources/docbook-utils-${DOCBOOKUTILSVER}*.src.rpm | cpio -div || exit 1 +tar xvf docbook-utils-$DOCBOOKUTILSVER.tar.gz +cd docbook-utils-$DOCBOOKUTILSVER || 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: +for i in \ + docbook-utils-spaces.patch \ + docbook-utils-2ndspaces.patch \ + docbook-utils-w3mtxtconvert.patch \ + docbook-utils-grepnocolors.patch \ + docbook-utils-sgmlinclude.patch \ + docbook-utils-rtfmanpage.patch \ + docbook-utils-papersize.patch \ + docbook-utils-nofinalecho.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 + +# grep-2.7 demands [[:space:]] instead of [:space:] +if ! fgrep '[[:space:]]' /usr/bin/jw ; then + sed -i "s/\[:space:\]/\[\[:space:\]\]/g" /usr/bin/jw +fi + +# 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-style-xsl && cd docbook-style-xsl +rpm2cpio $CWD/sources/docbook-style-xsl-${XSLSTYLESHEETSVER}*.src.rpm | cpio -div || 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 || 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: +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 +mkdir xmlto && cd xmlto +#tar xvf $CWD/sources/xmlto-$XMLTOVER.tar.*z* +rpm2cpio $CWD/sources/xmlto-${XMLTOVER}*.src.rpm | cpio -div || exit 1 +tar xvvf xmlto-$XMLTOVER.tar.*z* +cd xmlto-$XMLTOVER || 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: +patch --verbose -p1 < ../xmlto-0.0.23-Lchapterpassivetex.patch || exit 1 + +# 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.*z* || 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 {} \; +xz -dc $CWD/sources/libsgmls-perl_$SGMLSPLVER-*.diff.xz | 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 +mkdir linuxdoc-tools && cd linuxdoc-tools +rpm2cpio $CWD/sources/linuxdoc-tools-${LINUXDOCTOOLSVER}*.src.rpm | cpio -div || exit 1 +tar xvf 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 {} \; + +# Remove Tex from the $PATH so that we don't build formats of the linuxdoc-tools +# guide which don't work with tetex-3. These do work with texlive, but Slackware doesn't +# ship that, and just how many alternate versions of the documentation do we need anyway? :-) +OPATH=$PATH +export PATH=$( echo $PATH | sed -e 's?:/usr/share/texmf/bin??g' -e 's?/usr/share/texmf/bin:??g' ) + +# 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 + +# 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 --prefix=/usr ) + +# 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 + +# Restore $PATH: +export PATH=$OPATH + +####################### Build gnome-doc-utils ####################### + +# Extract source: +cd $TMP +tar xvf $CWD/sources/gnome-doc-utils-$GNOMEDOCUTILSVER.tar.*z* +cd gnome-doc-utils-* || 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 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --disable-scrollkeeper \ + --enable-build-utils \ + --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.*z* +cd gtk-doc-$GTKDOCVER || 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 patch to fix problem with vim: +xz -dc $CWD/sources/gtk-doc.patch.xz | patch --verbose -p1 || exit 1 + +# 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 +#EOF diff --git a/source.local/ap/linuxdoc-tools/postbuildfixes.sh b/source.local/ap/linuxdoc-tools/postbuildfixes.sh new file mode 100755 index 0000000..8781faf --- /dev/null +++ b/source.local/ap/linuxdoc-tools/postbuildfixes.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# Once slacktrack has determined what the contents of the package +# should be, it copies them into $SLACKTRACKFAKEROOT +# From here we can make modifications to the package's contents +# immediately prior to the invocation of makepkg: slacktrack will +# do nothing else with the contents of the package after the execution +# of this script. + +# If you modify anything here, be careful *not* to include the full +# path name - only use relative paths (ie rm usr/bin/foo *not* rm /usr/bin/foo). + +# Enter the package's contents: +cd $SLACKTRACKFAKEROOT + +# OpenSP creates this symlink; we delete it. +if [ -L usr/share/doc ]; then + rm -f usr/share/doc +fi + +# Incase you had CUPS running: +rm -rf etc/cups etc/printcap +# crond & mail (just incase you got a delivery!) +rm -rf var/spool/{cron,mail} +rmdir var/spool + +# perllocal.pod files don't belong in packages. +# SGMLSPL creates this: +find . -name perllocal.pod -print0 | xargs -0 rm -f + +# Some doc dirs have attracted setuid. +# We don't need setuid for anything in this package: +chmod -R a-s . + +# Ensure some permissions. +# I don't know why but these dirs are installed chmod 1755: +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/pk/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/pk/ljfour/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/pk/ljfour/jknappen/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/pk/ljfour/jknappen/ec/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/source/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/source/jknappen/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/source/jknappen/ec/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/tfm/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/tfm/jknappen/ +#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/tfm/jknappen/ec/ +#find var/lib/texmf -type d -print0 | xargs -0 chmod 755 +# This directory needs these permissions to permit pleb accounts to make +# fonts: +#chmod 1777 var/lib/texmf +# +# Never mind: I think this stuff is surplus to requirements: +rm -rf var/lib/texmf +# Now to prevent deletion of anything else that lives in the package's '/var' +rmdir var/lib +rmdir var + +# There's no reason to include huge redundant documentation: +cd usr/doc +find . -name "*.txt" | while read docfile ; do + basedocname=$(echo $docfile | rev | cut -f 2- -d . | rev) + rm -fv ${basedocname}.{html,pdf,xml} + rm -fv docbook-xsl*/reference.pdf.gz +done + +# Now you should manually extract the .tgz +# - check through the install/doinst.sh script; +# - check the contents, permissions and ownerships in the package archive. diff --git a/source.local/ap/linuxdoc-tools/slack-desc b/source.local/ap/linuxdoc-tools/slack-desc new file mode 100644 index 0000000..3b9eec9 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +linuxdoc-tools: linuxdoc-tools (utilities for working with DocBook and SGML) +linuxdoc-tools: +linuxdoc-tools: SGML stands for Standard Generalized Markup Language. This is a +linuxdoc-tools: system which allows you to produce LaTeX, HTML, GNU info, LyX, RTF, +linuxdoc-tools: and plain text (via groff) from a single source file in SGML. It is +linuxdoc-tools: often used for technical software documentation, such as the Linux +linuxdoc-tools: HOWTO documents. +linuxdoc-tools: +linuxdoc-tools: This package includes everything you need to use SGML -- all of the +linuxdoc-tools: standard SGML tools; OpenJade; tools for working with DocBook +linuxdoc-tools: documents (various DTDs); xmlto and AsciiDoc. diff --git a/source.local/ap/linuxdoc-tools/sources/asciidoc.asciidoc7compatible.revertbrokenchange.diff.xz b/source.local/ap/linuxdoc-tools/sources/asciidoc.asciidoc7compatible.revertbrokenchange.diff.xz Binary files differnew file mode 100644 index 0000000..85b5405 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/asciidoc.asciidoc7compatible.revertbrokenchange.diff.xz diff --git a/source.local/ap/linuxdoc-tools/sources/docbook-style-xsl-1.75.2-6.fc14.src.rpm b/source.local/ap/linuxdoc-tools/sources/docbook-style-xsl-1.75.2-6.fc14.src.rpm Binary files differnew file mode 100644 index 0000000..18d48f2 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/docbook-style-xsl-1.75.2-6.fc14.src.rpm diff --git a/source.local/ap/linuxdoc-tools/sources/docbook-utils-0.6.14-24.fc14.src.rpm b/source.local/ap/linuxdoc-tools/sources/docbook-utils-0.6.14-24.fc14.src.rpm Binary files differnew file mode 100644 index 0000000..82f5f30 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/docbook-utils-0.6.14-24.fc14.src.rpm diff --git a/source.local/ap/linuxdoc-tools/sources/docbook-xml-4.5.zip b/source.local/ap/linuxdoc-tools/sources/docbook-xml-4.5.zip Binary files differnew file mode 100644 index 0000000..cb510f6 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/docbook-xml-4.5.zip diff --git a/source.local/ap/linuxdoc-tools/sources/gtk-doc.patch.xz b/source.local/ap/linuxdoc-tools/sources/gtk-doc.patch.xz Binary files differnew file mode 100644 index 0000000..fa50e3e --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/gtk-doc.patch.xz diff --git a/source.local/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff.xz b/source.local/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff.xz Binary files differnew file mode 100644 index 0000000..9926963 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/libsgmls-perl_1.03ii-32.diff.xz diff --git a/source.local/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.66-6.fc14.src.rpm b/source.local/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.66-6.fc14.src.rpm Binary files differnew file mode 100644 index 0000000..d258138 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.66-6.fc14.src.rpm diff --git a/source.local/ap/linuxdoc-tools/sources/opensp-1.5.2-12.fc12.src.rpm b/source.local/ap/linuxdoc-tools/sources/opensp-1.5.2-12.fc12.src.rpm Binary files differnew file mode 100644 index 0000000..e2e0f38 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/opensp-1.5.2-12.fc12.src.rpm diff --git a/source.local/ap/linuxdoc-tools/sources/sgml-common-0.6.3-33.fc14.src.rpm b/source.local/ap/linuxdoc-tools/sources/sgml-common-0.6.3-33.fc14.src.rpm Binary files differnew file mode 100644 index 0000000..842196f --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/sgml-common-0.6.3-33.fc14.src.rpm diff --git a/source.local/ap/linuxdoc-tools/sources/source.download b/source.local/ap/linuxdoc-tools/sources/source.download new file mode 100755 index 0000000..40e05d2 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/source.download @@ -0,0 +1,89 @@ +# Incase you're wondering why we're using source RPMs, this is because +# they contain patches required to either fix build or runtime problems, +# and it's easier to maintain this hunk of a package when the patches & +# sources are self contained. +# +# Some sources have been recompressed with LZMA for better compression results. + +# linuxdoc-tools: +# This provides things such as sgml2txt. +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/linuxdoc-tools-0.9.66-6.fc14.src.rpm + +# OpenSP: +# http://openjade.sourceforge.net/download.html +# wget -c http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz +# +wget -c http://download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/opensp-1.5.2-12.fc12.src.rpm + + +# OpenJade: +# http://openjade.sourceforge.net/ +wget -c http://downloads.sourceforge.net/openjade/openjade-1.3.3-pre1.tar.gz + + +# sgmltools-common. +# It's broken and needs patching so we'll use Fedora's. +#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/sgml-common-0.6.3-33.fc14.src.rpm + + +# DocBook docs: +# http://www.oasis-open.org/docbook/sgml/ +# +#wget -c http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip +#wget -c http://www.docbook.org/sgml/4.5/docbook-4.5.zip +# We use Debian's source because it's more convenient since they package all versions in one archive: +wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook/docbook_4.5.orig.tar.gz + + +# http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-dsssl.html +# Check versions: +# http://sourceforge.net/projects/docbook/files/ +wget -c ftp://ftp.linux.ee/pub/gentoo/distfiles/distfiles/docbook-dsssl-1.79.tar.bz2 +wget -c http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2 +# Why don't they put the patches into the distributed source...??? +#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/docbook-utils-0.6.14-24.fc14.src.rpm + +# +wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip +# https://sourceforge.net/project/showfiles.php?group_id=21935&package_id=16608 +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/docbook-style-xsl-1.75.2-6.fc14.src.rpm + +# We use the Fedora "docbook-style-xsl" SRPM for this rather than the original source which is why +# these "docbook-xsl*" files aren't in our sources directory. +#wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2?use_mirror=freefr" +##wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl-doc/1.75.2/docbook-xsl-doc-1.75.2.tar.bz2?use_mirror=freefr" + + +# gnome-doc-utils, needed to build gtk-doc: +# Recompressed with LZMA after download. +# I guess this mirror is out of date now. It's easier to just look at Fedora's development +# directory anyway :-) +# wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.0.tar.bz2 +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/gnome-doc-utils-0.20.1-1.fc14.src.rpm + +# gtk-doc: +# When upgrading this, it's worth checking the Fedora SRPM. For version 1.13 +# we're carrying a fix for gtk-doc-fixref. Make sure newer versions don't need +# any patches! +wget -c http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/1.15/gtk-doc-1.15.tar.bz2 +# http://git.gnome.org/browse/gtk-doc/commit/?id=2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0 + +# sgmlspl +# http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html +# There's nothing in the FTP download site at this time, so I'll take it from Debian. +wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz +wget -c http://ftp.de.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-32.diff.gz + + +# xmlto +# https://fedorahosted.org/releases/x/m/xmlto +# wget -c --no-check-certificate https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.23.tar.bz2 +# Fedora 14 includes a patch, so we'll take it: +wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/xmlto-0.0.23-3.fc13.src.rpm + + +# AsciiDoc +# http://www.methods.co.nz/asciidoc/ +wget -c "http://sourceforge.net/projects/asciidoc/files/asciidoc/8.6.2/asciidoc-8.6.2.tar.gz/download" diff --git a/source.local/ap/linuxdoc-tools/sources/xmlto-0.0.23-3.fc13.src.rpm b/source.local/ap/linuxdoc-tools/sources/xmlto-0.0.23-3.fc13.src.rpm Binary files differnew file mode 100644 index 0000000..ce771c2 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/sources/xmlto-0.0.23-3.fc13.src.rpm diff --git a/source.local/ap/linuxdoc-tools/trackbuild.linuxdoc-tools b/source.local/ap/linuxdoc-tools/trackbuild.linuxdoc-tools new file mode 100755 index 0000000..f4c41c1 --- /dev/null +++ b/source.local/ap/linuxdoc-tools/trackbuild.linuxdoc-tools @@ -0,0 +1,86 @@ +#!/bin/bash + +##################################################################### +# trackbuild.liunxdoc-tools +# by Stuart Winter <mozes@slackware.com> +# Preform a few pre-build requirements then launch the build script +# through slacktrack +# 31-Jul-2009 +##################################################################### + +# Known build requirements: +# a/unzip for the docbook stuff +# l/libxml2 for /usr/bin/xmlcatalogue +# a/rpm2tgz to unpack some SRPMs +# d/python for AsciiDoc +# l/libxslt +# l/seamonkey-solibs for rpm2cpio +# t/tetex (not required for a bootstrap build, but will be required +# later for a full build of this linuxdoc-tools package). + +# Package info: +PKGNAM=linuxdoc-tools + +# Automatically determine the architecture we're building on: +MARCH=$( uname -m ) +if [ -z "$ARCH" ]; then + case "$MARCH" in + i?86) export ARCH=i486 ;; + armv7hl) export ARCH=$MARCH ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$MARCH ;; + esac +fi + +export PKGVERSION=0.9.66 # use the version of linuxdoc-tools as the package version. +BUILD=${BUILD:-9} +PKGEXT=${PKGEXT:-txz} + +export CWD=$PWD +export PKGSTORE=/tmp +export TMP=/tmp/build-$PKGNAM/ +rm -rf $TMP + +####################### Clean up before build ##################### + +# It's best to clear this stuff up prior to the build. +# All of these directories (apart from /usr/share/xml/libglade) are +# created by this build script: +removepkg linuxdoc-tools +rm -rf /etc/{xml,sgml} +rm -rf /usr/share/doc/linuxdoc-tools +rm -rf /usr/share/sgml +rm -rf /usr/share/xml/{docbook,xml-iso-entities*} # can't wipe the entire dir because of libglade +rm -rf ~/.texmf-var/ # created by docbook-utils +rm -rf ~/.texlive* # incase you were using Texlive rather than Textex-3 + +#################################################################### + +######## WARNING ################################################### +# This will touch nearly every file on your expendable development +# box. You wouldn't try this on a production system, right? +######## WARNING ################################################### + +# This the faster option, but not the safest. On a full Slackware +# installation, you'll find new files in this directory which have +# been 'touch'ed. The --touch-filesystem-first will not do this, +# but is slower. However, if you really want extra speed, copy +# this entire package source directory to a temporary location +# and run it from there. +# TFS="--touch-filesystem-faster" + +TFS="--touch-filesystem-first" + +# Launch the build script: +slacktrack $TFS \ + --notidy \ + --showdeps \ + -T $TMP \ + -l $CWD/build.$ARCH.log \ + -R $CWD/postbuildfixes.sh \ + -b $PKGSTORE \ + -rYQOcp $PKGNAM-$PKGVERSION-$ARCH-$BUILD.$PKGEXT ./linuxdoc-tools.build + +# Compress build log: +bzip2 -9fvz $CWD/build.$ARCH.log |