s3:modules: s/struct timed_event/struct tevent_timer
[Samba/gebeck_regimport.git] / docs-xml / scripts / find_missing_manpages
blobbaa580990f73090333df8f3990ba66f6d15f4384
1 #!/usr/bin/python
2 # Copyright (C) 2007,2012 Jelmer Vernooij <jelmer@samba.org>
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 import optparse
19 import os
20 import re
22 parser = optparse.OptionParser("source_dir")
24 (opts, args) = parser.parse_args()
26 invar = False
28 if len(args) == 1:
29 topdir = args[0]
30 else:
31 topdir = "."
33 progs = []
35 f = open(os.path.join(topdir, "Makefile.in"), "r")
36 try:
37 for l in f.readlines():
38 l = l.strip()
39 if invar:
40 invar = (l[-1] == "\\")
41 progs.extend(l.rstrip("\\").split(" "))
42 else:
43 m = re.match("^([^ ]*)_PROGS([0-9]*) = (.*?)([\\\\])$", l)
44 if m:
45 progs.extend(m.group(3).split(" "))
46 invar = (m.group(4) == "\\")
47 else:
48 invar = False
49 finally:
50 f.close()
52 #$progs =~ s/@([^@]+)@//g;
53 #$progs =~ s/\$\(.*?\)//g;
55 for prog in progs:
56 prog = prog.strip()
57 if prog == "":
58 continue
59 if prog[0] in ("@", "$"):
60 continue
61 prog = prog[len("bin/"):]
63 found = False
65 for i in range(9):
66 p = "manpages/%s.%d.xml" % (prog, i)
67 if os.path.exists(p):
68 found = True
70 if not found:
71 print "'%s' does not have a manpage" % prog