diff --git a/mozilla/config/Makefile.in b/mozilla/config/Makefile.in index 37a715be4df..c520df475d2 100644 --- a/mozilla/config/Makefile.in +++ b/mozilla/config/Makefile.in @@ -141,7 +141,7 @@ build_number: FORCE nsBuildID.h: nsBuildID.h.in build_number $(RM) $@ - $(PERL) -I$(srcdir) $(srcdir)/aboutime.pl $@ build_number $(srcdir)/nsBuildID.h.in + $(PERL) -I$(srcdir) $(srcdir)/aboutime.pl -m $(srcdir)/milestone.txt $@ build_number $(srcdir)/nsBuildID.h.in ifndef CROSS_COMPILE ifdef USE_ELF_DYNSTR_GC diff --git a/mozilla/config/aboutime.pl b/mozilla/config/aboutime.pl index 4d35ec56105..cdf59a55c76 100755 --- a/mozilla/config/aboutime.pl +++ b/mozilla/config/aboutime.pl @@ -1,12 +1,24 @@ use strict; -use mozBDate; +use Getopt::Std; +require mozBDate; +require "Moz/Milestone.pm"; + +my $mfile; +getopts('m:'); +if (defined($::opt_m)) { + $mfile = $::opt_m; +} my $outfile = $ARGV[0]; my $build_num_file = $ARGV[1]; my $infile = ""; $infile = $ARGV[2] if ("$ARGV[2]" ne ""); - + +if (defined($mfile)) { + my $milestone = &Moz::Milestone::getOfficialMilestone($mfile); + &mozBDate::SetMilestone($milestone); +} &mozBDate::SubstituteBuildNumber($outfile, $build_num_file, $infile); diff --git a/mozilla/config/mozBDate.pm b/mozilla/config/mozBDate.pm index 1b367e16738..56d7f3b3e0b 100755 --- a/mozilla/config/mozBDate.pm +++ b/mozilla/config/mozBDate.pm @@ -26,15 +26,17 @@ use IO::File; BEGIN { use Exporter (); - use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); + use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $milestone); $VERSION = 1.00; @ISA = qw(Exporter); - @EXPORT = qw(&UpdateBuildNumber &SubstituteBuildNumber); + @EXPORT = qw(&UpdateBuildNumber &SubstituteBuildNumber &SetMilestone); %EXPORT_TAGS = ( ); @EXPORT_OK = qw(); } +local $mozBDate::milestone = "0.0"; + sub write_number($) { my ($file, $num) = @_; unlink($file); @@ -95,7 +97,7 @@ sub SubstituteBuildNumber($$$) { my ($outfile, $build_num, $infile) = @_; my $INFILE = new IO::File; my $OUTFILE = new IO::File; - + open $INFILE, "<$build_num"; my $build = <$INFILE>; close $INFILE; @@ -122,6 +124,15 @@ sub SubstituteBuildNumber($$$) { $id =~ s/NS_BUILD_ID\s\d+/$temp/; print $OUTFILE $id; } + elsif ($id =~ "GRE_BUILD_ID") { + if (defined($ENV{'MOZ_MILESTONE_RELEASE'})) { + $temp = "GRE_BUILD_ID " . $milestone; + } else { + $temp = "GRE_BUILD_ID " . "${milestone}_${build}"; + } + $id =~ s/GRE_BUILD_ID\s\d+/$temp/; + print $OUTFILE $id; + } else { print $OUTFILE $_; } @@ -134,6 +145,11 @@ sub SubstituteBuildNumber($$$) { rename "${outfile}.old", "$outfile"; } +sub SetMilestone($) { + my ($mstone) = (@_); + $milestone = $mstone if ($mstone ne ""); +} + END {}; 1; diff --git a/mozilla/config/nsBuildID.h.in b/mozilla/config/nsBuildID.h.in index ff62fc8c3ca..afde5e17b42 100644 --- a/mozilla/config/nsBuildID.h.in +++ b/mozilla/config/nsBuildID.h.in @@ -9,5 +9,15 @@ */ #define NS_BUILD_ID 0000000000 +/* GRE_BUILD_ID - GRE build version identifier + * + * If creating a release build (eg, MOZILLA_OFFICIAL is set), then + * GRE_BUILD_ID will be updated to contain _. + * If building a milestone build (eg, MOZ_MILESTONE_RELEASE is set), then + * GRE_BUILD_ID will just contain . + * + */ +#define GRE_BUILD_ID 00000000000 + #endif /* _NSBUILDID_H_ */