1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/docs-xml/build
Alexander Bokovoy 73ed153310 docs-xml: convert smb.conf.5 build to waf
smb.conf(5) is different from other manpages because before it is
built, it gets merged together from a number of smaller files, one
per parameter. So we first create a parameters.all.xml file that
references all these files and then include it into master smb.conf.5.xml

One small issue is how to handle generated files in WAF build
from xi:include perspective as the files are generated in bin/default/docs-xml
rather than in docs-xml. We solve this by further expanding use of XML catalogs
and rewriting virtual path http://www.samba.org/samba/smbdotconf/ to proper
location.

Both docs-xml autoconf and waf builds work correctly now.

Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Mon Sep 17 14:18:31 CEST 2012 on sn-devel-104
2012-09-17 14:18:31 +02:00
..
DTD Fix bug #8831 - Inconsistent (with manpage) command-line switch for "help" in smbtree 2012-03-30 22:59:53 +02:00
catalog.xml.in docs-xml: convert smb.conf.5 build to waf 2012-09-17 14:18:31 +02:00
README

HOW TO BUILD SAMBA DOCUMENTATION WITHOUT NETWORK ACCESS
-------------------------------------------------------

Samba documentation depends on several DTD schema specification and XML files
that are stored in samba-web Subversion repository and hosted publicly through
Samba.org web-site. In order to do networkless builds a local XML catalog should
provide a local replica of those files.

The easiest way to provide them is to fetch samba-docs subversion repository.
In this directory (build/) we reference samba-web repository as external source
so that Subversion fetches current state of DTDs out of samba-web repository.
You then need to point xsltproc utility to use locally-provided version of DTDs.

It is done by setting XML_CATALOG_FILES variable:

export XML_CATALOG_FILES="file:///etc/xml/catalog file://$(pwd)/build/catalog.xml"

where $(pwd)/build/catalog.xml is generated from $(pwd)/build/catalog.xml.in by a 
following command:

cat $(pwd)/build/catalog.xml.in | sed -e "s|@BUILDDIR@|$(pwd)|g" > $(pwd)/build/catalog.xml

where $(pwd) assumes that you're in the top-level directory of samba-docs.

After those steps a regular make process can be followed and xsltproc will automatically
use locally-provided DTDs through catalog.xml we've created.