summaryrefslogtreecommitdiff
path: root/docs-xml
diff options
context:
space:
mode:
authorAlexander Bokovoy <ab@samba.org>2017-10-06 22:49:11 +0300
committerKarolin Seeger <kseeger@samba.org>2017-10-25 08:43:05 +0200
commit43088b110201d439064cb145c6ccb81833432928 (patch)
tree89a4aac9c08c0bf104b8bf1e1507dc69ee11c0a9 /docs-xml
parent38d6051d51313bd11be48ca92b6f3727f0384a28 (diff)
downloadsamba-43088b110201d439064cb145c6ccb81833432928.tar.gz
smb.conf.5: sort parameters alphabetically
Content of each separate parameter description file is added into a parameters.all.xml file before compiling smb.conf.5. The issue is that POSIX file systems generally don't give any promises over how glob-produced files are sorted. Thus, we need to sort them in a predictable way. This patch adds sorting based on a file name as a string. Since all parameter files named after the parameter itself (plus .xml), we can use file name sorting. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13081 Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-By: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> (cherry picked from commit 543c0af4767f5be723594b87d078357e1e04f02e)
Diffstat (limited to 'docs-xml')
-rw-r--r--docs-xml/wscript_build9
1 files changed, 8 insertions, 1 deletions
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index cbc09a56559..eb25aa0a46a 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -1,5 +1,6 @@
#!/usr/bin/env python
from samba_utils import save_file
+import os
manpages='''
manpages/cifsdd.8
manpages/dbwrap_tool.1
@@ -129,7 +130,13 @@ def smbdotconf_generate_parameter_list(task):
save_file(parameter_all, t , create_dir=True)
return 0
-articles = bld.path.ant_glob("smbdotconf/**/*.xml", flat=True)
+# Since nothing really forces sorting in glob, we have to sort by file name
+# POSIX file systems aren't required to return sorted content but we want
+# smb.conf parameters to be sorted alphabetically
+sources = bld.path.ant_glob("smbdotconf/**/*.xml", flat=False)
+articles = " ".join(sorted([x.relpath_gen(bld.path) for x in sources],
+ key=lambda m: m.split(os.sep)[-1]))
+
parameter_all = 'smbdotconf/parameters.all.xml'
bld.SAMBA_GENERATOR(parameter_all,
source=articles,