aboutsummaryrefslogtreecommitdiff
path: root/tools/update_man_pages
diff options
context:
space:
mode:
Diffstat (limited to 'tools/update_man_pages')
-rwxr-xr-xtools/update_man_pages34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/update_man_pages b/tools/update_man_pages
new file mode 100755
index 00000000..5c4a901e
--- /dev/null
+++ b/tools/update_man_pages
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+use strict;
+use DBI;
+#$ENV{PERL5LIB}="plugins-scripts"; # Needed for utils.pm
+
+unless ($ENV{DRUPAL_PASSWORD}) {
+ die "Must set envvar for DRUPAL_PASSWORD";
+}
+
+my $dbh = DBI->connect("DBI:mysql:database=www;host=127.0.0.1", "www", $ENV{DRUPAL_PASSWORD});
+
+my @plugin_paths;
+push @plugin_paths, (grep { -x $_ && -f $_ } (<plugins-root/*>, <plugins/*>) );
+
+foreach my $plugin_path (@plugin_paths) {
+ my $plugin = $plugin_path;
+ $plugin =~ s%.*/%%;
+ my $help_option = "--help";
+ $help_option = "-h" if ($plugin eq "check_icmp");
+ my $help = `$plugin_path $help_option` || die "Cannot run $plugin -h";
+ $help =~ s/</&lt;/g;
+ $help =~ s/>/&gt;/g;
+
+ my $rows = $dbh->do("UPDATE node SET created=UNIX_TIMESTAMP(NOW()) WHERE title='$plugin'");
+ unless ($rows == 1) {
+ die "Cannot find $plugin in drupal to update - create book page first";
+ }
+
+ $dbh->do("UPDATE node_revisions SET timestamp=UNIX_TIMESTAMP(NOW()), log='Updated by update_online_manpage', teaser='$plugin --help', body=? WHERE title='$plugin'",
+ {},
+ "<pre>".$help."</pre>");
+}
+
+print "Finished\n";