diff --git a/tools/tinderbox_build b/tools/tinderbox_build
index 0fdaf038ea74d00920a4ce2749bf590e1254df84..12528d9ba400ee8203f58365ba6508243de6b9e9 100755 (executable)
--- a/tools/tinderbox_build
+++ b/tools/tinderbox_build
use Cwd;
use Time::Local;
-my $Version = '$Revision$';
+my $Version = `git describe --abbrev=4 HEAD`;
my $myhost = hostname;
chomp($myhost);
my ($host, $junk) = split(/\./, $myhost);
my $BuildAdministrator = $ENV{TINDERBOX_BUILD_ADMIN} || "$ENV{'USER'}\@$myhost";
+my $TmpDir = $ENV{TMPDIR} || "/tmp";
#Default values of cmdline opts
my $ReportStatus = 0; # Do not send results to server
# Set these to what makes sense for your system
# Set these proper values for your tinderbox server
-my $Tinderbox_server = 'tinderbox2@tinderbox.altinity.org';
+# Have the StrictHostKeyChecking=no so that a new host will automatically add hostkey without
+# prompting. If host key changes, then will get error, so this should still be secure
+my $Tinderbox_server = '-p 1022 -o StrictHostKeyChecking=no tinderbox2@tinderbox.opsera.com';
# These shouldn't really need to be changed
my $BuildTree = 'nagiosplug';
if (-e (my $file = "nagios-plugins.spec")) {
open F, $file;
while (<F>) {
- if (/^Version: HEAD-(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
- $StartTime = timelocal(0, $5, $4, $3, ($2 - 1), ($1 - 1900));
+ if (/^Version: trunk-(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
+ $StartTime = timegm(0, $5, $4, $3, ($2 - 1), ($1 - 1900));
last;
}
}
if ($ReportStatus) {
system( "ssh $Tinderbox_server tinderbox_receive < ${logfile}.last" )
} else {
- print "Not sending logs to tinderbox",$/;
+ print <<"EOF"
+Not sending logs to http://tinderbox.altinity.org
+If you have SSH keys setup on the tinderbox server, you can manually send
+with 'ssh $Tinderbox_server tinderbox_receive < ${logfile}.last'
+EOF
}
unlink("$logfile");
$Path = $ENV{PATH};
print "Path before: $Path\n";
- if ( $OS eq 'SunOS' ) {
- $ENV{'PATH'} = '/usr/ccs/bin:' . $ENV{'PATH'};
+ # Don't alter path if we're building off a repository tree;
+ # SunOS make will be used only for snapshots and releases.
+ if ( $OS eq 'SunOS' && !( -e '.svn' || -e '.git' )) {
+ $ENV{'PATH'} = '/usr/ccs/bin:' . $ENV{'PATH'};
}
$Path = $ENV{PATH};
sub configure {
# Configure
- print LOG "./configure $ConfigureArgs\n";
- open (CONFIGURE, "./configure $ConfigureArgs 2>&1 |") || die "../configure: $!\n";
+ print LOG "./configure --enable-extra-opts --enable-libtap $ConfigureArgs 2>&1\n";
+ open (CONFIGURE, "./configure --enable-extra-opts --enable-libtap $ConfigureArgs 2>&1 |") || die "../configure: $!\n";
while (<CONFIGURE>) {
print $_;
print LOG $_;
sub maketest {
# Tests
- print LOG "LANG=C make test 2>&1\n";
- open( MAKE, "LANG=C make test 2>&1 |");
+ print LOG "LANG=C make test 2>&1 && make install DESTDIR=$TmpDir/tinderbox_build.$$ 2>&1 && make install-strip DESTDIR=$TmpDir/tinderbox_build2.$$ 2>&1\n";
+ open( MAKE, "LANG=C make test 2>&1 && make install DESTDIR=$TmpDir/tinderbox_build.$$ 2>&1 && make install-strip DESTDIR=$TmpDir/tinderbox_build2.$$ 2>&1 |");
while ( <MAKE> ) {
print $_;
print LOG $_;
}
close( MAKE);
- return ! $?;
+ my $rc = $?;
+ system("rm -fr $TmpDir/tinderbox_build.$$ $TmpDir/tinderbox_build2.$$");
+ return ! $rc;
}
# Main function