+++ /dev/null
-#!/usr/bin/python
-
-# Copyright (C) 2007,2012 Jelmer Vernooij <jelmer@samba.org>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-import optparse
-import os
-import re
-
-parser = optparse.OptionParser("source_dir")
-
-(opts, args) = parser.parse_args()
-
-if len(args) == 1:
- topdir = args[0]
-else:
- topdir = "."
-
-# Reading links from manpage
-
-curdir = os.getcwd()
-doc = {}
-
-os.chdir("smbdotconf");
-
-f = os.popen("xsltproc --xinclude --param smb.context ALL generate-context.xsl parameters.all.xml", "r")
-try:
- for l in f.readlines():
- m = re.match('<samba:parameter .*?name="([^"]*?)"', l)
- if m:
- name = m.group(1).replace(" ", "")
- doc[name] = False
-finally:
- f.close()
-
-os.chdir(curdir)
-
-# Reading entries from source code
-
-f = open(os.path.join(topdir, "lib/param/param_table.c"), "r")
-
-# burn through the preceding lines
-while True:
- l = f.readline()
- if l.startswith("static struct parm_struct parm_table"):
- break
-
-for l in f.readlines():
- if re.match("^\s*\}\;\s*$", l):
- break
- # pull in the param names only
- if re.match(".*P_SEPARATOR.*", l):
- continue
- m = re.match("\s*\.label\s*=\s*\"(.*)\".*", l)
- if not m:
- continue
-
- name = m.group(1)
- name = name.replace(" ", "")
-
- if name.lower() in doc:
- doc[name.lower()] = True
- else:
- print "'%s' is not documented" % name
-f.close()
-
-# Try to find missing references
-for key in doc.keys():
- if doc[key] == "FOUND":
- print "'$_' is documented but is not a configuration option"