'''build and install manual pages'''
bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
- os.environ["XML_CATALOG_FILES"] = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
+ bld.env.SAMBA_CATALOGS = 'file:///etc/xml/catalog file://' + bld.srcnode.abspath() + '/bin/default/docs-xml/build/catalog.xml'
for m in manpages.split():
source = m + '.xml'
bld.SAMBA_GENERATOR(m,
source=source,
target=m,
group='final',
- rule='${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC} && ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'
+ rule='''export XML_CATALOG_FILES="${SAMBA_CATALOGS}"
+ ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC}
+ ${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
)
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
Build.BuildContext.SAMBAMANPAGES = SAMBAMANPAGES
<rewriteURI
uriStartString="http://www.samba.org/samba/DTD/"
- rewritePrefix="file://@abs_top_builddir@/build/DTD/"/>
+ rewritePrefix="file://@abs_top_srcdir@/build/DTD/"/>
<rewriteURI
uriStartString="http://www.gnu.org/licenses/"
- rewritePrefix="file://@abs_top_builddir@/Samba3-ByExample/"/>
+ rewritePrefix="file://@abs_top_srcdir@/Samba3-ByExample/"/>
+ <rewriteURI
+ uriStartString="http://www.samba.org/samba/smbdotconf/"
+ rewritePrefix="file://@abs_top_builddir@/smbdotconf/"/>
</catalog>
<title>EXPLANATION OF EACH PARAMETER</title>
<samba:parameterlist>
- <xi:include href="../smbdotconf/parameters.all.xml" parse="xml"/>
+ <!-- The URI below is resolved to local generated version of parameters.all.xml //-->
+ <!-- WAF build places it in bin/default/docs-xml/smbdotconf/parameters.all.xml //-->
+ <!-- and we redirect there via use of XML_CATALOG_FILES, see docs-xml/build/catalog.xml.in //-->
+ <xi:include href="http://www.samba.org/samba/smbdotconf/parameters.all.xml" parse="xml"/>
</samba:parameterlist>
</refsect1>
#!/usr/bin/env python
-
+from samba_utils import save_file
manpages='''
manpages/eventlogadm.8
manpages/findsmb.1
manpages/rpcclient.1
manpages/samba.7
manpages/sharesec.1
- manpages/smb.conf.5
manpages/smbcacls.1
manpages/smbclient.1
manpages/smbcontrol.1
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 = '<section xmlns:xi="http://www.w3.org/2003/XInclude">\n'
+ for article in articles:
+ t += "<xi:include href='file://" + article.abspath(task.env) + "' parse='xml'/>\n"
+ t += "</section>\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'):
bld.SYMBOL_CHECK()
bld.DUP_SYMBOL_CHECK()
-bld.env.ABS_TOP_BUILDDIR = bld.srcnode.abspath() + '/docs-xml'
+bld.env.ABS_TOP_SRCDIR = bld.srcnode.abspath() + '/docs-xml'
+bld.env.ABS_TOP_BUILDDIR = bld.srcnode.abspath() + '/bin/default/docs-xml'
bld.CONFIGURE_FILE('docs-xml/build/catalog.xml',
- ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR)
+ ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR,
+ ABS_TOP_SRCDIR=bld.env.ABS_TOP_SRCDIR)
bld.RECURSE('docs-xml')