summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/build_perl_modules24
-rwxr-xr-xtools/np_build_from_sf11
-rwxr-xr-xtools/sfwebcron34
-rwxr-xr-xtools/snapshot69
-rwxr-xr-xtools/update_man_pages34
5 files changed, 82 insertions, 90 deletions
diff --git a/tools/build_perl_modules b/tools/build_perl_modules
index 4bdb81b..9a880ff 100755
--- a/tools/build_perl_modules
+++ b/tools/build_perl_modules
@@ -62,11 +62,19 @@ foreach my $tarball (@tarballs) {
62 if ($opts->{m}) { 62 if ($opts->{m}) {
63 # Don't compile if already done - this is because of invocating this 63 # Don't compile if already done - this is because of invocating this
64 # script at different stages 64 # script at different stages
65 print "******************** $tarball\n";
65 unless (-e $dir) { 66 unless (-e $dir) {
66 system("gunzip -c $tarball | tar -xf -") == 0 or die "Cannot extract $tarball"; 67 system("gunzip -c $tarball | tar -xf -") == 0 or die "Cannot extract $tarball";
67 chdir $dir or die "Can't chdir into $dir"; 68 chdir $dir or die "Can't chdir into $dir";
68 system("perl Makefile.PL PREFIX=$destdir INSTALLDIRS=site LIB=$destdir/lib") == 0 or die "Can't run perl Makefile.PL"; 69 if (-e "Makefile.PL") {
69 system("make") == 0 or die "Can't run make"; 70 system("perl Makefile.PL PREFIX=$destdir INSTALLDIRS=site LIB=$destdir/lib") == 0
71 or die "Can't run perl Makefile.PL";
72 system("make") == 0 or die "Can't run make";
73 } else {
74 system("perl Build.PL --prefix $destdir --installdirs site --install_path lib=$destdir/lib") == 0
75 or die "Can't run perl Build.PL";
76 system("./Build") == 0 or die "Can't run ./Build";
77 }
70 chdir $topdir or die "Can't chdir to top";; 78 chdir $topdir or die "Can't chdir to top";;
71 } 79 }
72 } 80 }
@@ -79,10 +87,18 @@ foreach my $tarball (@tarballs) {
79 $ENV{PERL5LIB}=join(":", @dirs); 87 $ENV{PERL5LIB}=join(":", @dirs);
80 88
81 if ($opts->{t}) { 89 if ($opts->{t}) {
82 system("make test") == 0 or die "Can't run make test failed"; 90 if (-e "Makefile") {
91 system("make test") == 0 or die "Can't run make test failed";
92 } else {
93 system("./Build test") == 0 or die "./Build test failed";
94 }
83 } 95 }
84 if ($opts->{i}) { 96 if ($opts->{i}) {
85 system("make install SITEPREFIX=$destdir") == 0 or die "Can't run make install"; 97 if (-e "Makefile") {
98 system("make install SITEPREFIX=$destdir") == 0 or die "Can't run make install";
99 } else {
100 system("./Build install") == 0 or die "Can't run ./Build install";
101 }
86 } 102 }
87 chdir $topdir or die "Can't go back to $topdir"; 103 chdir $topdir or die "Can't go back to $topdir";
88} 104}
diff --git a/tools/np_build_from_sf b/tools/np_build_from_sf
new file mode 100755
index 0000000..7ba349a
--- /dev/null
+++ b/tools/np_build_from_sf
@@ -0,0 +1,11 @@
1#!/bin/bash
2
3set -xeu
4
5temp=$(mktemp -d)
6trap "cd $HOME; rm -rf $temp; exit 1" EXIT
7curl -sS http://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz|tar -C "$temp" --strip-components=1 -xzf -
8cd $temp
9./configure && make
10$HOME/bin/update_man_pages
11
diff --git a/tools/sfwebcron b/tools/sfwebcron
index d836a0f..0f31fcf 100755
--- a/tools/sfwebcron
+++ b/tools/sfwebcron
@@ -4,32 +4,32 @@
4# To update the developers-guidelines.html and put in html area 4# To update the developers-guidelines.html and put in html area
5# 5#
6# Install in cron with something like: 6# Install in cron with something like:
7# 47 7 * * * $HOME/bin/sfwebcron 7# 47 7 * * * $HOME/bin/sfwebcron >/tmp/sfwebcron.log 2>&1 || cat /tmp/sfwebcron.log
8 8
9function die { echo $1; exit 1; } 9set -eu
10trap 'echo "Command failed at line $LINENO"' ERR
10 11
11# Set working variables 12# Set working variables
12PROJECT=nagiosplug 13PROJECT=nagiosplug
13IN=${HOME}/tmp_sfwebcron 14IN=${HOME}/sfwebcron
14OUT_SERVER="tonvoon@shell.sf.net" 15PROBE="developer-guidelines.html.last"
15OUT="/home/groups/n/na/nagiosplug/htdocs" 16OUT_SERVER="tonvoon@frs.sourceforge.net"
16 17OUT_PATH="/home/groups/n/na/nagiosplug/htdocs"
17if [[ ! -e developer-guidelines.html.last ]] ; then
18 touch developer-guidelines.html.last
19fi
20 18
21# Get latest dev guildelines 19# Get latest dev guildelines
22[[ ! -d $IN ]] && mkdir $IN 20[[ ! -d $IN ]] && mkdir $IN
23cd $IN 21cd $IN
24if [[ ! -d doc ]] ; then 22if [[ ! -d nagios-plugins ]]
25 #cvs -z3 -d:pserver:anonymous@cvs1:/cvsroot/nagiosplug co nagiosplug || die "Cannot cvs" 23then
26 svn checkout http://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk/doc doc 24 git clone https://github.com/nagios-plugins/nagios-plugins.git nagios-plugins
27fi 25fi
28cd doc 26cd nagios-plugins/doc
29svn update 27git pull
30 28
31make 29make
32if [[ developer-guidelines.html -nt developer-guidelines.html.last ]] ; then 30if [[ ! -e $PROBE || developer-guidelines.html -nt $PROBE ]]
33 scp developer-guidelines.{html,sgml} $OUT_SERVER:$OUT 31then
34 touch developer-guidelines.html.last 32 rsync -av developer-guidelines.{html,sgml} $OUT_SERVER:$OUT_PATH/
33 touch $PROBE
35fi 34fi
35
diff --git a/tools/snapshot b/tools/snapshot
deleted file mode 100755
index 9fa61cf..0000000
--- a/tools/snapshot
+++ /dev/null
@@ -1,69 +0,0 @@
1#! /bin/sh
2
3# This scipt assumes that you have anonCVS for nagios and nagiosplug
4# in ${IN}
5
6# cvs -d:pserver:anonymous@cvs.nagiosplug.sourceforge.net:/cvsroot/nagiosplug login
7# cvs -z3 -d:pserver:anonymous@cvs.nagiosplug.sourceforge.net:/cvsroot/nagiosplug co nagiosplug
8#
9# cvs -d:pserver:anonymous@cvs.nagios.sourceforge.net:/cvsroot/nagios login
10# cvs -z3 -d:pserver:anonymous@cvs.nagios.sourceforge.net:/cvsroot/nagios co nagios
11
12# Set directories
13IN=${HOME}/sf
14OUT=/col/htdocs/src/nagios
15RPM_TOPDIR=${HOME}/redhat
16
17# Update nagiosplug CVS
18cd ${IN}/nagiosplug
19rm configure configure.in Makefile.in
20cvs update
21DS=`date -u +%Y%m%d%H%M`
22sed "s/^VER=.*/VER=${DS}/;s/^REL=.*/REL=snapshot/" configure.in > configure.tmp
23mv configure.tmp configure.in
24aclocal
25autoheader
26autoconf
27automake
28autoreconf
29
30# Make the Nagiosplug dist tarball
31rm -r build-dist
32mkdir build-dist
33cd build-dist
34../configure
35make dist
36cp -fv *.gz ${OUT}
37
38# Make the Nagiosplug custom RPM
39echo "%_topdir ${RPM_TOPDIR}" > ./.rpmrc
40mkdir -p ${RPM_TOPDIR}/RPMS/i386 ${RPM_TOPDIR}/SRPMS ${RPM_TOPDIR}/SOURCES ${RPM_TOPDIR}/BUILD ${RPM_TOPDIR}/SPECS
41rpm --rcfile "/usr/lib/rpm/rpmrc:${IN}/rpmrc" --define 'custom 1' -ta *.gz
42cp -fv ~/redhat/RPMS/i386/nagios-plugins-custom-*.i386.rpm /col/htdocs/src/nagios
43
44# Copy the new snapshot and delete the old ones
45cd ${OUT}
46GLOBIGNORE=nagios-plugins-${DS}-snapshot.tar.gz
47rm -f nagios-plugins-*.tar.gz
48GLOBIGNORE=nagios-plugins-custom-${DS}-snapshot.i386.rpm
49rm -f nagios-plugins-custom-*-snapshot.i386.rpm
50cd ~/redhat/SRPMS
51rm nagios-plugins-custom-${DS}-snapshot.src.rpm
52cd ~/redhat/RPMS/i386
53rm nagios-plugins-custom-${DS}-snapshot.i386.rpm
54
55# Update Nagios CVS
56cd ${IN}/sf/nagios
57rm configure configure.in nagios.spec base/nagios.c common/common.h \
58 html/main.html Makefile.in
59cvs update
60
61# Make the Nagios tarball
62DS=`date -u +%Y%m%d%H%M`
63./make-tarball ${DS}
64
65# Copy the new snapshot and delete the old ones
66mv ../nagios-${DS}.tar.gz /col/htdocs/src/nagios/
67GLOBIGNORE=${OUT}/nagios-${DS}.tar.gz
68rm ${OUT}/nagios-20*.tar.gz
69
diff --git a/tools/update_man_pages b/tools/update_man_pages
new file mode 100755
index 0000000..5c4a901
--- /dev/null
+++ b/tools/update_man_pages
@@ -0,0 +1,34 @@
1#!/usr/bin/perl
2use strict;
3use DBI;
4#$ENV{PERL5LIB}="plugins-scripts"; # Needed for utils.pm
5
6unless ($ENV{DRUPAL_PASSWORD}) {
7 die "Must set envvar for DRUPAL_PASSWORD";
8}
9
10my $dbh = DBI->connect("DBI:mysql:database=www;host=127.0.0.1", "www", $ENV{DRUPAL_PASSWORD});
11
12my @plugin_paths;
13push @plugin_paths, (grep { -x $_ && -f $_ } (<plugins-root/*>, <plugins/*>) );
14
15foreach my $plugin_path (@plugin_paths) {
16 my $plugin = $plugin_path;
17 $plugin =~ s%.*/%%;
18 my $help_option = "--help";
19 $help_option = "-h" if ($plugin eq "check_icmp");
20 my $help = `$plugin_path $help_option` || die "Cannot run $plugin -h";
21 $help =~ s/</&lt;/g;
22 $help =~ s/>/&gt;/g;
23
24 my $rows = $dbh->do("UPDATE node SET created=UNIX_TIMESTAMP(NOW()) WHERE title='$plugin'");
25 unless ($rows == 1) {
26 die "Cannot find $plugin in drupal to update - create book page first";
27 }
28
29 $dbh->do("UPDATE node_revisions SET timestamp=UNIX_TIMESTAMP(NOW()), log='Updated by update_online_manpage', teaser='$plugin --help', body=? WHERE title='$plugin'",
30 {},
31 "<pre>".$help."</pre>");
32}
33
34print "Finished\n";