Scratchbox's Documentation Tools: Janne Langi
Scratchbox's Documentation Tools: Janne Langi
Janne Langi
[email protected]
Scratchbox’s documentation tools
by Janne Langi
Revision history
iii
Chapter 1. Introduction
Open source software source packages are usually distributed with documentation which is in some
markup language since it can then be easily converted to many other formats (html, pdf, man-pages etc).
The documentation is usually converted at the same time the software is built. Since Scratchbox aims to
be a complete development environment where any software can be built without needing to change
anything in the original distribution package we need various documentation tools to handle the
converting of documentation. Another reason is that installing target and architecture specific tools might
not be the best way since they would have to be installed separately for all targets and, for example, when
using ARM target the tools are run using emulation or on an ARM device and that might be very slow.
Instead, we have the tools in Scratchbox and they are run on the host which is a lot faster.
1
Chapter 2. Documentation tools
To checkout the GAR tree from CVS you need to have your static IP address added to the list of IP
addresses from where ssh connections are allowed. When that is done you can checkout the GAR tree
with the following command:
Note: You most likely must be root to install the documentation tools because you need write
permissions to /scratchbox/ directory.
1. Tarball:
2
Chapter 2. Documentation tools
2. Debian package:
dpkg -i scratchbox-doctools_<version>_i386.deb
3. RPM package:
If you want to use the CVS version of the documentation tools package:
cd scratchbox/doc_tools/
The documentation tools are installed into /scratchbox/doc_tools/ directory. It’s added to users’
PATH inside scratchbox so one can run the tools by just typing their name. Users usually don’t need to
run the tools explicitly since the build scripts of software packages do it automatically when needed.
debiandoc-sgml
DebianDoc SGML is an SGML-based documentation formatting package that is used for the
Debian manuals. It provides support for reading markup files of various format and converts them to
LaTeX or texinfo based output.
3
Chapter 2. Documentation tools
doxygen
Doxygen is a documentation system that can generate an on-line and/or an off-line reference
manual. The Doxygen extracts documentation documentation directly from the sources. Doxygen
supports various programming languages including C++, C and Java.
groff
The groff (GNU Troff) software is a typesetting package which reads plain text mixed with
formatting commands and produces formatted output. Output can be produced in a number of
formats including plain ASCII, HTML and PostScript.
The package contains the traditional UN*X text formatting tools troff, nroff, tbl, eqn, and pic. These
utilities, together with the man package, are essential for displaying the online manual pages. A
number of other utilities are also included together with several fonts.
help2man
help2man is a command line utility for automatically generating simple manual pages from
program output. The program provides an easy way for developers to create a manual page for their
software without having to maintain that document.
html2text
A command line utility that converts HTML documents into plain text. The program is able to
preserve the original positions of table fields, allows you to set the screen width (to a given number
of output characters), and accepts also syntactically incorrect input (attempting to interpret it
"reasonably").
4
Chapter 2. Documentation tools
jade
Jade is a suite of tools for validating, processing, and applying DSSSL (Document Style Semantics
and Specification Language) style sheets to SGML and XML documents. DSSSL is an ISO
standard for formatting SGML (and XML) documents.
jadetex
JadeTeX is a TeX macro package that can be used to process output from Jade or OpenJade to TeX
output.
libxml2
libxml2 is the XML C parser and toolkit originally developed for the Gnome project but is usable
as a stand alone as well.
libxslt
Libxslt is the XSLT C library developed for the Gnome project but is usable as a stand alone as
well. Based on libxml2.
5
Chapter 2. Documentation tools
linuxdoc-tools
LinuxDoc was created for the Linux HOWTOs, and had been used officially by the Linux
Documentation Project (LDP). Currently LDP is adopting DocBook for their documentation and
LinuxDoc is provided for compatibility to those packages that still uses LinuxDoc.
openjade
OpenJade is a suite of tools for validating, processing, and applying DSSSL (Document Style
Semantics and Specification Language) style sheets to SGML and XML documents. DSSSL is an
ISO standard for formatting SGML (and XML) documents.
opensp
OpenSP is a library and a set of tools for validating, parsing, and manipulating SGML and XML
documents. OpenSP is a part of OpenJade project.
pfaedit
An outline font editor that lets you create your own postscript, truetype, opentype, cid-keyed,
multi-master, cff, svg and bitmap (bdf) fonts, or edit existing ones. Also lets you convert one format
to another.
sgml-base
Utilities to maintain SGML catalog files.
6
Chapter 2. Documentation tools
sgmltools-lite
Consists of the easy-to-use front-end, a large number of processing back ends, and some custom
style sheets.
tetex
teTeX is a complete TeX distribution for UNIX compatible systems. TeX is a typesetting system.
7
Chapter 3. Adding documentation tools
Scratchbox uses the GAR build system [1]. It’s a mechanism for automating the compilation and
installation of third-party source code. It appears in the form of a tree of directories containing Makefiles
and other ancillary bookkeeping files (such as installation manifests and checksum lists).
Note: Only Scratchbox developers are allowed to access the CVS repository. The following
instructions apply for adding new tools to a local GAR tree as well, just ignore the adding to CVS and
copying files to Scratchbox webserver.
To checkout the GAR tree from CVS you need to have your static IP address added to the list of IP
addresses from where ssh connections are allowed. Once that is done you can checkout the GAR tree
with the following command:
You should now have the whole Scratchbox GAR tree in scratchbox/ directory. Documentation tool
directory is scratchbox/doc_tools/.
8
Chapter 3. Adding documentation tools
5. Type make checksums in packages directory to generate checksum information for package.
6. Package is now ready to be compiled. Compiling and installing package can be done with make
install command.
Note: If the package does not compile properly check that you have necessary library dependencies
etc. in the Makefile. You might also have to add some Scratchbox specific configuration and
build options.
7. Once the package builds cleanly and you have verified that it works you can add it to Scratchbox
CVS repository. You must also copy the source package to /work/files/sbox-files/ directory
on Scratchbox webserver so that it will be available for others. Make sure the file permissions allow
a read access for others as well!
9
Chapter 3. Adding documentation tools
10
References
[1] GAR build system (http://www.lnx-bbc.org/garchitecture.html) .
11