summaryrefslogtreecommitdiff
path: root/docs-xml/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'docs-xml/scripts')
-rwxr-xr-xdocs-xml/scripts/find_missing_doc.pl57
-rwxr-xr-xdocs-xml/scripts/find_missing_manpages.pl39
-rwxr-xr-xdocs-xml/scripts/indent-smb.conf.pl8
-rwxr-xr-xdocs-xml/scripts/neatquotes.pl12
4 files changed, 116 insertions, 0 deletions
diff --git a/docs-xml/scripts/find_missing_doc.pl b/docs-xml/scripts/find_missing_doc.pl
new file mode 100755
index 0000000000..2b557b974d
--- /dev/null
+++ b/docs-xml/scripts/find_missing_doc.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+
+my %doc;
+
+$topdir = (shift @ARGV) or $topdir = ".";
+
+##################################################
+# Reading links from manpage
+
+$curdir = $ENV{PWD};
+
+chdir("smbdotconf");
+
+open(IN,"xsltproc --xinclude --param smb.context ALL generate-context.xsl parameters.all.xml|");
+
+while(<IN>) {
+ if( /<listitem><para><link linkend="([^"]*)"><parameter moreinfo="none">([^<]*)<\/parameter><\/link><\/para><\/listitem>/g ){
+ $doc{$2} = $1;
+ }
+}
+
+close(IN);
+
+chdir($curdir);
+
+#################################################
+# Reading entries from source code
+
+
+open(SOURCE,"$topdir/param/loadparm.c") or die("Can't open $topdir/param/loadparm.c: $!");
+
+while ($ln = <SOURCE>) {
+ last if $ln =~ m/^static\ struct\ parm_struct\ parm_table.*/;
+} #burn through the preceding lines
+
+while ($ln = <SOURCE>) {
+ last if $ln =~ m/^\s*\}\;\s*$/;
+ #pull in the param names only
+ next if $ln =~ m/.*P_SEPARATOR.*/;
+ next unless $ln =~ /\s*\{\"(.*)\".*/;
+
+ if($doc{lc($1)}) {
+ $doc{lc($1)} = "FOUND";
+ } else {
+ print "'$1' is not documented\n";
+ }
+}
+close SOURCE;
+
+##################################################
+# Trying to find missing references
+
+foreach (keys %doc) {
+ if($doc{$_} cmp "FOUND") {
+ print "'$_' is documented but is not a configuration option\n";
+ }
+}
diff --git a/docs-xml/scripts/find_missing_manpages.pl b/docs-xml/scripts/find_missing_manpages.pl
new file mode 100755
index 0000000000..c468d7d1ee
--- /dev/null
+++ b/docs-xml/scripts/find_missing_manpages.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+my %doc;
+
+$invar = 0;
+
+$topdir = (shift @ARGV) or $topdir = ".";
+
+$progs = "";
+
+open(IN, "$topdir/Makefile.in");
+while(<IN>) {
+ if($invar && /^([ \t]*)(.*?)([\\])$/) {
+ $progs.=" " . $2;
+ if($4) { $invar = 1; } else { $invar = 0; }
+ } elsif(/^([^ ]*)_PROGS([0-9]*) = (.*?)([\\])$/) {
+ $progs.=" " . $3;
+ if($4) { $invar = 1; }
+ } else { $invar = 0; }
+}
+
+foreach(split(/bin\//, $progs)) {
+ next if($_ eq " ");
+ s/\@EXEEXT\@//g;
+ s/ //g;
+
+
+ $f = $_;
+
+ $found = 0;
+
+ for($i = 0; $i < 9; $i++) {
+ if(-e "manpages/$f.$i.xml") { $found = 1; }
+ }
+
+ if(!$found) {
+ print "'$f' does not have a manpage\n";
+ }
+}
diff --git a/docs-xml/scripts/indent-smb.conf.pl b/docs-xml/scripts/indent-smb.conf.pl
new file mode 100755
index 0000000000..c4c87a1511
--- /dev/null
+++ b/docs-xml/scripts/indent-smb.conf.pl
@@ -0,0 +1,8 @@
+#!/usr/bin/perl
+
+while(<STDIN>) {
+ if(/^$/) { }
+ elsif(/^([ \t]*)#(.*)/) { print "#$2\n"; }
+ elsif(/^([ \t]*)(.*) = (.*)$/) { print "\t$2 = $3\n"; }
+ elsif(/^([ \t]*)\[(.*)\]([ \t]*)$/) { print "\n[$2]\n"; }
+}
diff --git a/docs-xml/scripts/neatquotes.pl b/docs-xml/scripts/neatquotes.pl
new file mode 100755
index 0000000000..9d5aa6e9e3
--- /dev/null
+++ b/docs-xml/scripts/neatquotes.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl
+
+my $inprog = 0;
+
+while(<STDIN>) {
+ if(/<(programlisting|screen)>/) { $inprog = 1; }
+ if(/<\/(programlisting|screen)>/) { $inprog = 0; }
+ if(not /="(.*)"/ and not $inprog) {
+ s/"(.*?)"/<quote>\1<\/quote>/g;
+ }
+ print $_;
+}