[SCM] Samba Shared Repository - branch master updated
Michael Adam
obnox at samba.org
Fri Jan 31 15:23:04 MST 2014
The branch, master has been updated
via fca80dc selftest: updated docs.py script
via 2c86758 docs: Always declare rule to build parameters.all.xml and do it first
via 464009c docs: change default of usershare path to use an entity
via 7d9cb4d docs: change default of cache directory to use an entity
via f243479 docs: change default of winbindd privileged socket directory to use an entity
via c729ab8 docs: change default of samba kcc command to use an entity
via 7a93e0f docs: change default of ntp signd socket directory to use an entity
via 072b053 docs: change default of spn update command to use an entity
via 79229f4 docs: change default in private directory to use an entity
via 31a48b8 docs: change default in lock directory to use an entity
via d0839f3 docs: change default in state directory to use an entity
via 9a76eed docs: change default in winbindd socket directory to use an entity
via 308b8b2 docs: change default in ncalrpc dir to use an entity
via 9143987 docs: change default in smb passwd file to use an entity
via e450a98 docs: change default in dns update command to use an entity
via 44026cf docs: change default in pid directory to use an entity
via 53522ac docs: Allow smb.conf.5 to still be generated outside the waf build
via 57ba012 docs: define and include entities for the docs
from 0e552e0 docs: adjust the defaults for list parameters to include commas to match testparm output
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fca80dccf86d00b3dfe42f35b78b0538e3cd1c0e
Author: Garming Sam <garming at catalyst.net.nz>
Date: Tue Dec 24 15:33:42 2013 +1300
selftest: updated docs.py script
The script now checks the parameter defaults against the documentation by using
the output of testparm and samba-tool testparm.
It now also uses the ElementTree xml library.
Change-Id: I2657c8c56a8c8383735e659dc9f636b4c5ab460b
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
Autobuild-User(master): Michael Adam <obnox at samba.org>
Autobuild-Date(master): Fri Jan 31 23:22:09 CET 2014 on sn-devel-104
commit 2c86758b04515998c690f293fada2cc43116d764
Author: Andrew Bartlett <abartlet at samba.org>
Date: Wed Jan 15 18:11:41 2014 +1300
docs: Always declare rule to build parameters.all.xml and do it first
This ensures this file and the rule to generate it can always be found.
Andrew Bartlett
Change-Id: I76d9f4470e2678fc2df4e3a13642737128938f3a
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 464009c01d747c12be682a92400a24a871cff0c1
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:32:32 2014 +1300
docs: change default of usershare path to use an entity
Change-Id: Idf9b8b95387f9b31b1cf8d3d548adb8361de0534
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 7d9cb4df4496cdb1afc649a074459e4c3d64e676
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:18:14 2014 +1300
docs: change default of cache directory to use an entity
Change-Id: I555524324d671a30c8bfb130ba95e745492a50b2
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit f243479ade4ff6c9db550a8b49b825d27ba5f44d
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:08:35 2014 +1300
docs: change default of winbindd privileged socket directory to use an entity
Change-Id: Ia520090dbad50a6d3fc5b7bdc1982cfc15174b16
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit c729ab83f0625fd8fb443419be0335aa4f33bf65
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:08:05 2014 +1300
docs: change default of samba kcc command to use an entity
Change-Id: I63c10ca0efc83496ffcd720edc00bd711ce53eac
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 7a93e0fa9cc962d17680a0c67781c076a4547918
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:07:48 2014 +1300
docs: change default of ntp signd socket directory to use an entity
Change-Id: Id66dcd5b587c4c355961d8e9d10cdf0d1e17a6ad
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 072b053c00a2676a4b34d07180b67e920a00ac5b
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Jan 9 13:07:33 2014 +1300
docs: change default of spn update command to use an entity
Change-Id: I05720c79767311593d93277e2ba82f6bde212518
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 79229f41115d667d211b84aa7cedfdc114e3386a
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:35:03 2014 +1300
docs: change default in private directory to use an entity
Change-Id: I4d015f2a75d8f404e0db64382b6d71bb9b59b8e3
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 31a48b832d3bcfb4549ec5fbe34db0da25cc7618
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:33:27 2014 +1300
docs: change default in lock directory to use an entity
Change-Id: Ie36185c0c9f439747a855885138093197f60786a
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit d0839f3b0f49b9cbe0bfe466e4cd62bbd8de19c6
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:31:17 2014 +1300
docs: change default in state directory to use an entity
Change-Id: I955779e117183ea42c86c092df9f6e3fda936f3c
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 9a76eedd0c080811a60cdfab7f8c6cc5b44baf20
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:27:18 2014 +1300
docs: change default in winbindd socket directory to use an entity
Change-Id: I8b3305f789cf081c5289c9d2653aecd8aa828577
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 308b8b2f10215f649e60682b1224c535bb68d90c
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:23:31 2014 +1300
docs: change default in ncalrpc dir to use an entity
Change-Id: I53e66f778731f44aba9fa2e1e18f157bea9c2974
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 9143987405dcde0973e9a2c7039bce12dd97cf50
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:19:48 2014 +1300
docs: change default in smb passwd file to use an entity
Change-Id: Ia81d677657ec0013c9cc7bfaecc2d88faf50f07c
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit e450a980b51860619d4f27ea251bf5a242f1ddc7
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:15:28 2014 +1300
docs: change default in dns update command to use an entity
Change-Id: I911eabd0271d0b3cdd15b5232a837ca3289997ae
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 44026cf32e42220f08f4d3f2705599230e138936
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:07:32 2014 +1300
docs: change default in pid directory to use an entity
Change-Id: I4e4d5c7e1a82aa0788423efe2cba2e828f127346
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 53522ac9946c78b00d4beb081777c80190b2f100
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Jan 14 13:07:52 2014 +1300
docs: Allow smb.conf.5 to still be generated outside the waf build
This will be needed once we start to use the XML entities for the
configure-dependent paths.
Change-Id: I2b64f02bb365cc099178b63b2b24bdb239dbb7c1
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 57ba012c10fb21f261a3ab9136be05a694278df9
Author: Garming Sam <garming at catalyst.net.nz>
Date: Thu Jan 9 12:01:18 2014 +1300
docs: define and include entities for the docs
This allows for dynamic default settings to be generated.
Change-Id: If8b93d233fb941bc7e3073ccf4b5ec0b0a231bd9
Pair-programmed-with: Andrew Bartlett <abartlet at samba.org>
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/wafsamba.py | 6 +-
docs-xml/smbdotconf/domain/dnsupdatecommand.xml | 2 +-
docs-xml/smbdotconf/domain/spnupdatecommand.xml | 2 +-
docs-xml/smbdotconf/generate-file-list.sh | 22 +++-
docs-xml/smbdotconf/misc/cachedirectory.xml | 2 +-
docs-xml/smbdotconf/misc/lockdirectory.xml | 2 +-
docs-xml/smbdotconf/misc/ncalrpcdir.xml | 2 +-
docs-xml/smbdotconf/misc/piddirectory.xml | 2 +-
docs-xml/smbdotconf/misc/statedirectory.xml | 2 +-
docs-xml/smbdotconf/misc/usersharepath.xml | 2 +-
.../security/ntpsigndsocketdirectory.xml | 2 +-
docs-xml/smbdotconf/security/privatedir.xml | 2 +-
docs-xml/smbdotconf/security/sambakcccommand.xml | 2 +-
docs-xml/smbdotconf/security/smbpasswdfile.xml | 2 +-
.../winbind/winbinddprivilegedsocketdirectory.xml | 2 +-
.../smbdotconf/winbind/winbinddsocketdirectory.xml | 2 +-
docs-xml/wscript_build | 30 +++-
dynconfig/wscript | 35 ++++-
python/samba/tests/docs.py | 155 +++++++++++++++-----
wscript_build | 13 +-
20 files changed, 210 insertions(+), 79 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index caa6fb1..aeb9418 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -806,7 +806,7 @@ def MANPAGES(bld, manpages, install):
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
Build.BuildContext.MANPAGES = MANPAGES
-def SAMBAMANPAGES(bld, manpages):
+def SAMBAMANPAGES(bld, manpages, extra_source=None):
'''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'
@@ -814,13 +814,15 @@ def SAMBAMANPAGES(bld, manpages):
for m in manpages.split():
source = m + '.xml'
+ if extra_source is not None:
+ source = [source, extra_source]
bld.SAMBA_GENERATOR(m,
source=source,
target=m,
group='final',
rule='''XML_CATALOG_FILES="${SAMBA_CATALOGS}"
export XML_CATALOG_FILES
- ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC}
+ ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC[0].abspath(env)}
${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
)
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
diff --git a/docs-xml/smbdotconf/domain/dnsupdatecommand.xml b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
index 08ff90a..0c7ed99 100644
--- a/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
+++ b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
@@ -10,6 +10,6 @@
</para>
</description>
-<value type="default">$prefix/sbin/samba_dnsupdate</value>
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_dnsupdate</value>
<value type="example">/usr/local/sbin/dnsupdate</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/spnupdatecommand.xml b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
index f63be84..0d3a6f6 100644
--- a/docs-xml/smbdotconf/domain/spnupdatecommand.xml
+++ b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
@@ -9,6 +9,6 @@
</para>
</description>
-<value type="default">$prefix/sbin/samba_spnupdate</value>
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_spnupdate</value>
<value type="example">/usr/local/sbin/spnupdate</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/generate-file-list.sh b/docs-xml/smbdotconf/generate-file-list.sh
index 68b2abe..a03ed11 100755
--- a/docs-xml/smbdotconf/generate-file-list.sh
+++ b/docs-xml/smbdotconf/generate-file-list.sh
@@ -1,4 +1,20 @@
#!/bin/sh
+#
+# This is the fallback table for when we use the docs-xml build
+# system. When build as part of the main waf build, these are set to
+# the full correct path for the system.
+#
+echo "<!DOCTYPE section [
+<!ENTITY pathconfig.SCRIPTSBINDIR '\${prefix}/sbin'>
+<!ENTITY pathconfig.LOCKDIR '\${prefix}/var/lock'>
+<!ENTITY pathconfig.NCALRPCDIR '\${prefix}/var/run/ncalrpc'>
+<!ENTITY pathconfig.PIDDIR '\${prefix}/var/run'>
+<!ENTITY pathconfig.STATEDIR '\${prefix}/var/locks'>
+<!ENTITY pathconfig.PRIVATE_DIR '\${prefix}/private'>
+<!ENTITY pathconfig.SMB_PASSWD_FILE '\${prefix}/private/smbpasswd'>
+<!ENTITY pathconfig.WINBINDD_SOCKET_DIR '\${prefix}/var/run/ncalrpc'>
+]>"
+
DIR=.
if [ "x$1" != "x" ]
then
@@ -8,12 +24,12 @@ fi
OLD=`pwd`
cd $DIR
-echo "<section xmlns:xi=\"http://www.w3.org/2003/XInclude\">"
+echo "<section>"
for I in `find . -mindepth 2 -type f -name '*.xml' | sort -t/ -k3 | xargs`
do
- echo "<xi:include href='$I' parse='xml'/>"
+ cat $I
done
-
echo "</section>"
+
cd $OLD
diff --git a/docs-xml/smbdotconf/misc/cachedirectory.xml b/docs-xml/smbdotconf/misc/cachedirectory.xml
index 1cb8124..b3b0d3e 100644
--- a/docs-xml/smbdotconf/misc/cachedirectory.xml
+++ b/docs-xml/smbdotconf/misc/cachedirectory.xml
@@ -17,6 +17,6 @@
</para>
</description>
-<value type="default">${prefix}/var/cache</value>
+<value type="default">&pathconfig.CACHEDIR;</value>
<value type="example">/var/run/samba/locks/cache</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/lockdirectory.xml b/docs-xml/smbdotconf/misc/lockdirectory.xml
index cbe10d5..51c8003 100644
--- a/docs-xml/smbdotconf/misc/lockdirectory.xml
+++ b/docs-xml/smbdotconf/misc/lockdirectory.xml
@@ -16,6 +16,6 @@
</para>
</description>
-<value type="default">${prefix}/var/locks</value>
+<value type="default">&pathconfig.LOCKDIR;</value>
<value type="example">/var/run/samba/locks</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/ncalrpcdir.xml b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
index 01b5b5c..5085050 100644
--- a/docs-xml/smbdotconf/misc/ncalrpcdir.xml
+++ b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
@@ -8,6 +8,6 @@
<para>This will allow Samba and other unix processes to interact over DCE/RPC without using TCP/IP. Additionally a sub-directory 'np' has restricted permissions, and allows a trusted communication channel between Samba processes</para>
</description>
-<value type="default">${prefix}/var/ncalrpc</value>
+<value type="default">&pathconfig.NCALRPCDIR;</value>
<value type="example">/var/run/samba/ncalrpc</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/piddirectory.xml b/docs-xml/smbdotconf/misc/piddirectory.xml
index 35e0223..2ad25e0 100644
--- a/docs-xml/smbdotconf/misc/piddirectory.xml
+++ b/docs-xml/smbdotconf/misc/piddirectory.xml
@@ -9,6 +9,6 @@
</para>
</description>
-<value type="default">${prefix}/var/locks</value>
+<value type="default">&pathconfig.PIDDIR;</value>
<value type="example">/var/run/</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/statedirectory.xml b/docs-xml/smbdotconf/misc/statedirectory.xml
index f8cfcdf..418fb61 100644
--- a/docs-xml/smbdotconf/misc/statedirectory.xml
+++ b/docs-xml/smbdotconf/misc/statedirectory.xml
@@ -17,6 +17,6 @@
</para>
</description>
-<value type="default">${prefix}/var/locks</value>
+<value type="default">&pathconfig.STATEDIR;</value>
<value type="example">/var/run/samba/locks/state</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usersharepath.xml b/docs-xml/smbdotconf/misc/usersharepath.xml
index cad64be..a095f17 100644
--- a/docs-xml/smbdotconf/misc/usersharepath.xml
+++ b/docs-xml/smbdotconf/misc/usersharepath.xml
@@ -28,5 +28,5 @@
</para>
</description>
-<value type="default">STATEDIR/usershare</value> with the compile time value of STATEDIR.
+<value type="default">&pathconfig.STATEDIR;/usershares</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml b/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml
index 718626d..bc04efd 100644
--- a/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml
+++ b/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml
@@ -13,5 +13,5 @@
directive in <filename>ntp.conf</filename>.</para>
</description>
-<value type="default">$prefix/run/samba/ntp_signd</value>
+<value type="default">&pathconfig.NTP_SIGND_SOCKET_DIR;</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/privatedir.xml b/docs-xml/smbdotconf/security/privatedir.xml
index 2f4b576..cd7c28a 100644
--- a/docs-xml/smbdotconf/security/privatedir.xml
+++ b/docs-xml/smbdotconf/security/privatedir.xml
@@ -11,5 +11,5 @@
</para>
</description>
-<value type="default">${prefix}/private</value>
+<value type="default">&pathconfig.PRIVATE_DIR;</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/sambakcccommand.xml b/docs-xml/smbdotconf/security/sambakcccommand.xml
index 9621792..2e8b28e 100644
--- a/docs-xml/smbdotconf/security/sambakcccommand.xml
+++ b/docs-xml/smbdotconf/security/sambakcccommand.xml
@@ -14,6 +14,6 @@
</para>
</description>
-<value type="default">$prefix/sbin/samba_kcc</value>
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_kcc</value>
<value type="example">/usr/local/bin/kcc</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/smbpasswdfile.xml b/docs-xml/smbdotconf/security/smbpasswdfile.xml
index 209fa74..e751885 100644
--- a/docs-xml/smbdotconf/security/smbpasswdfile.xml
+++ b/docs-xml/smbdotconf/security/smbpasswdfile.xml
@@ -15,5 +15,5 @@ smb passwd file = /etc/samba/smbpasswd
</para>
</description>
-<value type="default">${prefix}/private/smbpasswd</value>
+<value type="default">&pathconfig.SMB_PASSWD_FILE;</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml b/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
index 94769a1..200e0ae 100644
--- a/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
+++ b/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
@@ -10,5 +10,5 @@
<related>winbindd socket directory</related>
-<value type="default">$prefix/lib/winbindd_privileged</value>
+<value type="default">&pathconfig.WINBINDD_PRIVILEGED_SOCKET_DIR;</value>
</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
index 5fd32ff..d26ad15 100644
--- a/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
+++ b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
@@ -14,5 +14,5 @@
<related>winbindd privileged socket directory</related>
-<value type="default">$prefix/run/samba/winbindd</value>
+<value type="default">&pathconfig.WINBINDD_SOCKET_DIR;</value>
</samba:parameter>
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index d1b3ec5..d59d4b5 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -98,22 +98,34 @@ 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/2001/XInclude">\n'
+ entities = bld.pathconfig_entities()
+ t = "<!DOCTYPE section [\n"
+
+ for entity in entities:
+ t += "%s\n" % entity
+
+ t += "]>\n"
+ t += "<section>\n"
for article in articles:
- t += "<xi:include href='" + article.abspath(task.env) + "' parse='xml'/>\n"
+ f = open(article.abspath(task.env), 'r')
+ t += f.read()
+ f.close()
+
t += "</section>\n"
save_file(parameter_all, t , create_dir=True)
return 0
+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,
+ always=True)
+
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)
+ bld.SAMBAMANPAGES(target, parameter_all)
if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
diff --git a/dynconfig/wscript b/dynconfig/wscript
index aa4e66e..a7cfa0a 100755
--- a/dynconfig/wscript
+++ b/dynconfig/wscript
@@ -345,29 +345,48 @@ def configure(conf):
conf.start_msg("Dynconfig[%s]: " % (varname))
conf.end_msg("'%s'" % (value), 'GREEN')
-def dynconfig_cflags(bld, list=None):
- '''work out the extra CFLAGS for dynconfig.c'''
- cflags = []
- # override some paths when running from the build directory
+def get_override(bld):
override = { 'MODULESDIR' : 'bin/modules',
'PYTHONDIR' : 'bin/python',
'PYTHONARCHDIR' : 'bin/python',
'BINDIR' : 'bin',
'SBINDIR' : 'bin',
- 'CODEPAGEDIR' : os.path.join(bld.env.srcdir, 'codepages'),
- 'SCRIPTSBINDIR' : os.path.join(bld.env.srcdir, 'source4/scripting/bin'),
- 'SETUPDIR' : os.path.join(bld.env.srcdir, 'source4/setup') }
+ 'CODEPAGEDIR' : 'codepages',
+ 'SCRIPTSBINDIR' : 'source4/scripting/bin',
+ 'SETUPDIR' : 'source4/setup'
+ }
+ return override
+
+def dynconfig_cflags(bld, list=None):
+ '''work out the extra CFLAGS for dynconfig.c'''
+ cflags = []
for varname in dynconfig.keys():
if list and not varname in list:
continue
value = bld.env[varname]
if not Options.is_install:
+ override = get_override(bld)
if varname in override:
- value = os.path.join(os.getcwd(), override[varname])
+ value = os.path.join(bld.env.srcdir, override[varname])
cflags.append('-D%s="%s"' % (varname, value))
return cflags
Build.BuildContext.dynconfig_cflags = dynconfig_cflags
+def pathconfig_entities(bld, list=None):
+ '''work out the extra entities for the docs'''
+ entities = []
+ for varname in dynconfig.keys():
+ if list and not varname in list:
+ continue
+ value = bld.env[varname]
+ if not Options.is_install:
+ override = get_override(bld)
+ if varname in override:
+ value = os.path.join(bld.env.srcdir, override[varname])
+ entities.append("<!ENTITY pathconfig.%s '%s'>" % (varname, value))
+ return entities
+Build.BuildContext.pathconfig_entities = pathconfig_entities
+
def build(bld):
cflags = bld.dynconfig_cflags()
version_header = 'version.h'
diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index c1b3716..afa9fdd 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -21,54 +21,42 @@
import samba
import samba.tests
-from samba.tests import TestSkipped
+from samba.tests import TestSkipped, TestCaseInTempDir
import errno
import os
import re
import subprocess
+import xml.etree.ElementTree as ET
-
-class TestCase(samba.tests.TestCase):
+class TestCase(samba.tests.TestCaseInTempDir):
def _format_message(self, parameters, message):
parameters = list(parameters)
parameters.sort()
return message + '\n\n %s' % ('\n '.join(parameters))
-
-class NoXsltProc(Exception):
-
- def __init__(self):
- Exception.__init__(self, "'xsltproc' is not installed")
-
-
def get_documented_parameters(sourcedir):
path = os.path.join(sourcedir, "bin", "default", "docs-xml", "smbdotconf")
if not os.path.exists(os.path.join(path, "parameters.all.xml")):
raise Exception("Unable to find parameters.all.xml")
try:
- p = subprocess.Popen(
- ["xsltproc", "--xinclude", "--param", "smb.context", "ALL", os.path.join(sourcedir, "docs-xml", "smbdotconf", "generate-context.xsl"), "parameters.all.xml"],
- stderr=subprocess.STDOUT, stdout=subprocess.PIPE,
- cwd=path)
- except OSError, e:
- if e.errno == errno.ENOENT:
- raise NoXsltProc()
- raise
- out, err = p.communicate()
- assert p.returncode == 0, "returncode was %r" % p.returncode
- for l in out.splitlines():
- m = re.match('<samba:parameter .*?name="([^"]*?)"', l)
- if "removed=\"1\"" in l:
- continue
- if m:
- name = m.group(1)
- yield name
- m = re.match('.*<synonym>(.*)</synonym>.*', l)
- if m:
- name = m.group(1)
- yield name
+ p = open(os.path.join(path, "parameters.all.xml"), 'r')
+ except IOError, e:
+ raise Exception("Error opening parameters file")
+ out = p.read()
+
+ root = ET.fromstring(out)
+ for parameter in root:
+ name = parameter.attrib.get('name')
+ if parameter.attrib.get('removed') == "1":
+ continue
+ yield name
+ syn = parameter.findall('synonym')
+ if syn is not None:
+ for sy in syn:
+ yield sy.text
+ p.close()
def get_implementation_parameters(sourcedir):
@@ -96,15 +84,69 @@ def get_implementation_parameters(sourcedir):
finally:
f.close()
+def get_default_triples(sourcedir):
+ path = os.path.join(sourcedir, "bin", "default", "docs-xml", "smbdotconf")
+ if not os.path.exists(os.path.join(path, "parameters.all.xml")):
+ raise Exception("Unable to find parameters.all.xml")
+ try:
+ p = open(os.path.join(path, "parameters.all.xml"), 'r')
+ except IOError, e:
+ raise Exception("Error opening parameters file")
+ out = p.read()
+
+ root = ET.fromstring(out)
+ for parameter in root:
+ name = parameter.attrib.get("name")
+ values = parameter.findall("value")
+ defaults = []
+ for value in values:
+ if value.attrib.get("type") == "default":
+ defaults.append(value)
+ if len(defaults) == 0:
+ continue
+ elif len(defaults) > 1:
+ raise Exception("More than one default found for parameter %s" % name)
+ default_text = defaults[0].text
+ if default_text is None:
+ default_text = ""
+ context = parameter.attrib.get("context")
+ yield name, default_text, context
+ p.close()
class SmbDotConfTests(TestCase):
+ # defines the cases where the defaults may differ from the documentation
+ special_cases = set(['log level', 'path', 'ldapsam:trusted', 'spoolss: architecture',
+ 'share:fake_fscaps', 'ldapsam:editposix', 'rpc_daemon:DAEMON',
+ 'rpc_server:SERVER', 'panic action', 'homedir map', 'NIS homedir',
+ 'server string', 'netbios name', 'socket options', 'use mmap',
+ 'ctdbd socket', 'printing', 'printcap name', 'queueresume command',
+ 'queuepause command','lpresume command', 'lppause command',
+ 'lprm command', 'lpq command', 'print command', 'template homedir'])
+
+ def setUp(self):
+ super(SmbDotConfTests, self).setUp()
+ # create a minimal smb.conf file for testparm
+ self.smbconf = os.path.join(self.tempdir, "paramtestsmb.conf")
+ f = open(self.smbconf, 'w')
+ try:
+ f.write("""
+[test]
+ path = /
+""")
+ finally:
+ f.close()
+
+ def tearDown(self):
+ super(SmbDotConfTests, self).tearDown()
+ os.unlink(self.smbconf)
+
def test_unknown(self):
- topdir = samba.source_tree_topdir()
+ topdir = os.path.abspath(samba.source_tree_topdir())
try:
documented = set(get_documented_parameters(topdir))
- except NoXsltProc:
- raise TestSkipped("'xsltproc' is missing, unable to load parameters")
+ except e:
+ self.fail("Unable to load parameters")
parameters = set(get_implementation_parameters(topdir))
# Filter out parametric options, since we can't find them in the parm
# table
@@ -115,13 +157,52 @@ class SmbDotConfTests(TestCase):
"Parameters that are documented but not in the implementation:"))
def test_undocumented(self):
- topdir = samba.source_tree_topdir()
+ topdir = os.path.abspath(samba.source_tree_topdir())
try:
--
Samba Shared Repository
More information about the samba-cvs
mailing list