Index: build-seamonkey-util.pl =================================================================== RCS file: /cvsroot/mozilla/tools/tinderbox/build-seamonkey-util.pl,v retrieving revision 1.227 diff -u -r1.227 build-seamonkey-util.pl --- build-seamonkey-util.pl +++ build-seamonkey-util.pl @@ -299,27 +299,30 @@ $Settings::BaseDir = get_system_cwd(); my $topsrcdir = "$Settings::BaseDir/$Settings::DirName/mozilla"; - - if ($Settings::ObjDir ne '') { - $ENV{LD_LIBRARY_PATH} = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin:" . "$ENV{LD_LIBRARY_PATH}"; + if ($Settings::ObjDir =~ m|^[/~]|) { + $Settings::BinDir = "${Settings::ObjDir}/$Settings::DistBin"; + } elsif ($Settings::ObjDir ne '') { + $Settings::BinDir = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin"; } else { - $ENV{LD_LIBRARY_PATH} = "$topsrcdir/$Settings::DistBin:" . ($ENV{LD_LIBRARY_PATH} || ""); + $Settings::BinDir = "$topsrcdir/$Settings::DistBin"; } + my $distbin = ${Settings::BinDir}; + $ENV{LD_LIBRARY_PATH} = "$distbin:" . ($ENV{LD_LIBRARY_PATH} || ""); # MacOSX needs this set. if ($Settings::OS eq 'Darwin') { $ENV{DYLD_LIBRARY_PATH} = "$ENV{LD_LIBRARY_PATH}"; } - $ENV{LIBPATH} = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin:" + $ENV{LIBPATH} = "$distbin:" . ($ENV{LIBPATH} || ""); # BeOS requires that components/ be in the library search path per bug 51655 - $ENV{LIBRARY_PATH} = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin:" - . "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin/components:" + $ENV{LIBRARY_PATH} = "$distbin:" + . "$distbin/components:" . ($ENV{LIBRARY_PATH} || ""); - $ENV{ADDON_PATH} = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin:" + $ENV{ADDON_PATH} = "$distbin:" . ($ENV{ADDON_PATH} || ""); - $ENV{MOZILLA_FIVE_HOME} = "$topsrcdir/${Settings::ObjDir}/$Settings::DistBin"; + $ENV{MOZILLA_FIVE_HOME} = "$distbin"; $ENV{DISPLAY} = $Settings::DisplayServer; $ENV{MOZCONFIG} = "$Settings::BaseDir/$Settings::MozConfigFileName" if $Settings::MozConfigFileName ne '' and -e $Settings::MozConfigFileName; @@ -334,11 +337,16 @@ $ENV{MOZ_MAPINFO} = "1"; } + foreach my $key (%ENV) { + next unless $key =~ /^SSH_|^SUDO_|^MAIL$/; + $ENV{$key}='#redacted'; + } } sub SetupPath { #print "Path before: $ENV{PATH}\n"; - $ENV{PATH} .= ":$Settings::BaseDir/$Settings::DirName/mozilla/${Settings::ObjDir}/$Settings::DistBin"; + #$ENV{PATH} .= ":$Settings::BaseDir/$Settings::DirName/mozilla/${Settings::ObjDir}/$Settings::DistBin"; + $ENV{PATH} .= ":$Settings::BinDir"; if ($Settings::OS eq 'AIX') { $ENV{PATH} = "/builds/local/bin:$ENV{PATH}:/usr/lpp/xlC/bin"; $Settings::ConfigureArgs .= '--x-includes=/usr/include/X11 ' @@ -631,8 +639,7 @@ my $binary_basename = "$Settings::BinaryName"; - my $binary_dir; - $binary_dir = "$build_dir/$Settings::Topsrcdir/${Settings::ObjDir}/$Settings::DistBin"; + my $binary_dir = "${Settings::BinDir}"; my $dist_dir = "$build_dir/$Settings::Topsrcdir/${Settings::ObjDir}/dist"; my $full_binary_name = "$binary_dir/$binary_basename"; @@ -771,6 +778,7 @@ if ($Settings::OS =~ /^WIN/) { DeleteBinaryDir($binary_dir); } else { +if (0) { # Delete binary so we can test for it to determine success after building. DeleteBinary($full_binary_name); if ($Settings::EmbedTest or $Settings::BuildEmbed) { @@ -786,6 +794,7 @@ print_log "Error: rmtree('$dist_dir', 0, 0) failed.\n"; } } +} } # Build up initial make command. my $make = "$Settings::Make -f client.mk $Settings::MakeOverrides CONFIGURE_ENV_ARGS='$Settings::ConfigureEnvArgs'"; @@ -965,6 +974,17 @@ sub BinaryExists { my ($binary) = @_; + $binary =~ s{ + ^ ~ # find a leading tilde + (# save this in $1 + [^/] # a non-slash character + * # repeated 0 or more times (0 means me) + ) + }{ + $1 + ? (getpwnam($1))[7] + : ( $ENV{HOME} || $ENV{LOGDIR} ) + }ex; my ($binary_basename) = File::Basename::basename($binary); if (not -e $binary) { @@ -1377,9 +1397,10 @@ # Before running tests, run regxpcom so that we don't crash when # people change contractids on us (since we don't autoreg opt builds) # - unlink("$binary_dir/component.reg") or warn "$binary_dir/component.reg not removed\n"; + unlink("${Settings::BinDir}/components/compreg.dat") + or warn "${Settings::BinDir}/components/compreg.dat not removed\n"; if($Settings::RegxpcomTest) { - AliveTest("regxpcom", $build_dir, ["$binary_dir/regxpcom"], + AliveTest("regxpcom", ${Settings::BinDir}, ["${Settings::BinDir}/regxpcom"], $Settings::RegxpcomTestTimeout); } Index: build-seamonkey.pl =================================================================== RCS file: /cvsroot/mozilla/tools/tinderbox/build-seamonkey.pl,v retrieving revision 1.100 diff -u -r1.100 build-seamonkey.pl --- build-seamonkey.pl +++ build-seamonkey.pl @@ -29,7 +29,7 @@ $TreeSpecific::name = 'mozilla'; $TreeSpecific::checkout_target = ''; - $TreeSpecific::checkout_clobber_target = "checkout realclean build"; + $TreeSpecific::checkout_clobber_target = "checkout build"; }