summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2003-05-15 12:33:46 +0000
committerdes <des@FreeBSD.org>2003-05-15 12:33:46 +0000
commit0def3a344d4bba58918a202544e3c032ce196f63 (patch)
tree7aaff9b13ec648db4a566a4e091806b732d5b3a6 /tools
parent931e2394a5b4023f1bdc4001805a0129ccbb25f9 (diff)
downloadFreeBSD-src-0def3a344d4bba58918a202544e3c032ce196f63.zip
FreeBSD-src-0def3a344d4bba58918a202544e3c032ce196f63.tar.gz
Make the ENV configuration variable a hash rather than an array.
Build LINT on -STABLE now that tinderbox.pl knows how. Also try to build LINT on powerpc and amd64 (this is a formality as they don't have NOTES so nothing will be built) Add two setups for release testing, with plenty of NO* to speed things up. If the config key was not specified on the command line, try to guess it from the hostname.
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/tinderbox/tbmaster.pl76
1 files changed, 64 insertions, 12 deletions
diff --git a/tools/tools/tinderbox/tbmaster.pl b/tools/tools/tinderbox/tbmaster.pl
index ffa5645..1e38b89 100644
--- a/tools/tools/tinderbox/tbmaster.pl
+++ b/tools/tools/tinderbox/tbmaster.pl
@@ -29,8 +29,10 @@
# $FreeBSD$
#
+use 5.006_001;
use strict;
use POSIX qw(tzset);
+use Sys::Hostname;
my %CONFIGS = (
# Global settings
@@ -38,8 +40,9 @@ my %CONFIGS = (
'LOGDIR' => '/home/des/public_html',
'OPTIONS' => [ '--update', '--verbose' ],
'EMAIL' => 'des+%%arch%%-%%branch%%@freebsd.org',
+ 'ENV' => { },
},
- # 5-CURRENT tinderbox
+
'cueball' => {
'COMMENT' => "-CURRENT tinderbox",
'BRANCHES' => [ 'CURRENT' ],
@@ -50,30 +53,73 @@ my %CONFIGS = (
'ia64' => [ 'ia64' ],
'sparc64' => [ 'sparc64' ],
},
- 'ENV' => [ ],
'EMAIL' => 'current@freebsd.org,%%arch%%@freebsd.org',
},
- # 4-STABLE tinderbox
+
'triangle' => {
'COMMENT' => "-STABLE tinderbox",
'BRANCHES' => [ 'RELENG_4' ],
- 'TARGETS' => [ 'world', 'generic' ],
+ 'TARGETS' => [ 'world', 'generic', 'lint' ],
'ARCHES' => {
'alpha' => [ 'alpha' ],
'i386' => [ 'i386', 'pc98' ],
},
- 'ENV' => [ 'MAKE_KERBEROS5=YES' ],
+ 'ENV' => {
+ 'MAKE_KERBEROS5' => 'YES',
+ },
# 'EMAIL' => 'stable@freebsd.org,%%arch%%@freebsd.org',
},
- # Test setup
+
'9ball' => {
+ 'COMMENT' => "Experimental platforms",
'BRANCHES' => [ 'CURRENT' ],
- 'TARGETS' => [ 'world', 'generic' ],
+ 'TARGETS' => [ 'world', 'generic', 'lint' ],
'ARCHES' => {
'amd64' => [ 'amd64' ],
'powerpc' => [ 'powerpc' ],
},
- 'ENV' => [ 'NOLIBC_R=YES', 'NOFORTH=YES' ],
+ 'ENV' => {
+ 'NOLIBC_R' => 'YES',
+ 'NOFORTH' => 'YES',
+ },
+ },
+
+ 'ada' => {
+ 'COMMENT' => "Tinderbox development",
+ 'BRANCHES' => [ 'RELENG_4' ],
+ 'TARGETS' => [ 'world', 'lint', 'release' ],
+ 'ARCHES' => {
+ 'i386' => [ 'i386' ],
+ },
+ 'ENV' => {
+ 'NOCRYPT' => 'YES',
+ 'NOLIBC_R' => 'YES',
+ 'NOPROFILE' => 'YES',
+ 'NOSECURE' => 'YES',
+ 'NO_BIND' => 'YES',
+ 'NO_FORTRAN' => 'YES',
+ 'NO_KERBEROS' => 'YES',
+ 'NO_SENDMAIL' => 'YES',
+ },
+ },
+
+ 'dwp' => {
+ 'COMMENT' => "Tinderbox development",
+ 'BRANCHES' => [ 'CURRENT' ],
+ 'TARGETS' => [ 'world', 'lint', 'release' ],
+ 'ARCHES' => {
+ 'i386' => [ 'i386' ],
+ },
+ 'ENV' => {
+ 'NOCRYPT' => 'YES',
+ 'NOLIBC_R' => 'YES',
+ 'NOPERL' => 'YES',
+ 'NOPROFILE' => 'YES',
+ 'NOSECURE' => 'YES',
+ 'NO_BIND' => 'YES',
+ 'NO_FORTRAN' => 'YES',
+ 'NO_SENDMAIL' => 'YES',
+ },
},
);
my %CONFIG = ();
@@ -135,7 +181,9 @@ sub tinderbox($$$) {
push(@args, "--arch=$arch");
push(@args, "--machine=$machine");
push(@args, @{$CONFIG{'TARGETS'}});
- push(@args, @{$CONFIG{'ENV'}});
+ while (my ($key, $val) = each(%{$CONFIG{'ENV'}})) {
+ push(@args, "$key=$val");
+ }
my $pid = fork();
if (!defined($pid)) {
warn("fork(): $!\n");
@@ -227,9 +275,13 @@ sub usage() {
}
MAIN:{
- usage()
- unless (@ARGV >= 1);
- my $config = lc(shift(@ARGV));
+ my $config;
+ if (@ARGV) {
+ $config = lc(shift(@ARGV));
+ } else {
+ $config = hostname();
+ $config =~ s/\..*//;
+ }
usage()
unless (exists($CONFIGS{$config}) && $config ne 'global');
%CONFIG = %{$CONFIGS{$config}};
OpenPOWER on IntegriCloud