diff --git a/tools/patcher/MozAUSConfig.pm b/tools/patcher/MozAUSConfig.pm index a024a37b011..0a1de912857 100644 --- a/tools/patcher/MozAUSConfig.pm +++ b/tools/patcher/MozAUSConfig.pm @@ -430,6 +430,13 @@ sub CreateUpdateGraph $u_config->{$u_key}->{'rc'} = {}; if (defined($u_rcInfo)) { foreach my $channel (keys(%{$u_rcInfo})) { + # Such a hack... this isn't a channel name at all; it's a config + # variable, to control the behavior of sending the complete + # "jump" updates to the RC channels... + if ($channel eq 'DisableCompleteJump') { + $u_config->{$u_key}->{'DisableCompleteJump'} = $u_rcInfo->{$channel}; + next; + } $u_config->{$u_key}->{'rc'}->{$channel} = $u_rcInfo->{$channel}; } } diff --git a/tools/patcher/patcher2.pl b/tools/patcher/patcher2.pl index cd77d742a41..425a924bab2 100755 --- a/tools/patcher/patcher2.pl +++ b/tools/patcher/patcher2.pl @@ -1077,6 +1077,11 @@ sub CreatePartialPatchinfo { my $complete_url = $complete->{'url'}; my $currentUpdateRcInfo = $u_config->{$u}->{'rc'}; + # Used in the case where we never released rc1, so rc2 or 3 or 4 is + # actually the "first" release rc. + my $disableCompleteJumpForRcs = + exists($u_config->{$u}->{'DisableCompleteJump'}) && + int($u_config->{$u}->{'DisableCompleteJump'}); my @channels = @{$u_config->{$u}->{'all_channels'}}; my $channel = $u_config->{$u}->{'channel'}; @@ -1162,6 +1167,7 @@ sub CreatePartialPatchinfo { $currentUpdateRcInfo->{$channel}; $serveCompleteUpdateToRcs = + (!$disableCompleteJumpForRcs) && (int($currentUpdateRcInfo->{$channel}) > 1); if ($serveCompleteUpdateToRcs) {