From 73ed1533105ac3f90813e5a0e7888a095eff4b75 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Mon, 17 Sep 2012 13:07:26 +0300 Subject: 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 Autobuild-Date(master): Mon Sep 17 14:18:31 CEST 2012 on sn-devel-104 --- docs-xml/build/catalog.xml.in | 7 +++++-- docs-xml/manpages/smb.conf.5.xml | 5 ++++- docs-xml/wscript_build | 25 +++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 5 deletions(-) (limited to 'docs-xml') diff --git a/docs-xml/build/catalog.xml.in b/docs-xml/build/catalog.xml.in index 4b99cf50d4..56d13a6cd3 100644 --- a/docs-xml/build/catalog.xml.in +++ b/docs-xml/build/catalog.xml.in @@ -6,9 +6,12 @@ + rewritePrefix="file://@abs_top_srcdir@/build/DTD/"/> + rewritePrefix="file://@abs_top_srcdir@/Samba3-ByExample/"/> + diff --git a/docs-xml/manpages/smb.conf.5.xml b/docs-xml/manpages/smb.conf.5.xml index e09eee0d55..a73382f54a 100644 --- a/docs-xml/manpages/smb.conf.5.xml +++ b/docs-xml/manpages/smb.conf.5.xml @@ -757,7 +757,10 @@ chmod 1770 /usr/local/samba/lib/usershares EXPLANATION OF EACH PARAMETER - + + + + diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build index 011854b2e6..c5d5839d96 100644 --- a/docs-xml/wscript_build +++ b/docs-xml/wscript_build @@ -1,5 +1,5 @@ #!/usr/bin/env python - +from samba_utils import save_file manpages=''' manpages/eventlogadm.8 manpages/findsmb.1 @@ -23,7 +23,6 @@ manpages=''' manpages/rpcclient.1 manpages/samba.7 manpages/sharesec.1 - manpages/smb.conf.5 manpages/smbcacls.1 manpages/smbclient.1 manpages/smbcontrol.1 @@ -87,8 +86,30 @@ pam_winbind_manpages = ''' krb5_locator_manpages = 'manpages/winbind_krb5_locator.7' +def smbdotconf_generate_parameter_list(task): + parameter_all = task.outputs[0].bldpath(task.env) + articles = task.inputs + + t = '
\n' + for article in articles: + t += "\n" + t += "
\n" + save_file(parameter_all, t , create_dir=True) + return 0 + +def SMBDOTCONF_MANPAGE(bld, target): + ''' assemble and build smb.conf.5 manual page''' + articles = bld.path.ant_glob("smbdotconf/**/*.xml") + parameter_all = 'smbdotconf/parameters.all.xml' + bld.SAMBA_GENERATOR(parameter_all, + source=articles, + target=parameter_all, + rule=smbdotconf_generate_parameter_list) + bld.SAMBAMANPAGES(target) + if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']): + SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5') bld.SAMBAMANPAGES(manpages) if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'): -- cgit