--- builds_bin/update_repos 2010/11/22 05:16:02 1.62 +++ builds_bin/update_repos 2010/11/22 21:17:22 1.63 @@ -373,9 +373,11 @@ foreach my $ver ( sort { $a <=> $b } key foreach my $pkg ( sort { $a->{nvra} cmp $b->{nvra} } @{$rpms->{$base}->{rpms}} ) { if ( $pkg->{latest} && $pkg->{latest} == 1 ) { - $pkg->{oldrepo} = $pkg->{repo} unless $pkg->{oldrepo}; - $pkg->{repo} = $stage; - push @{$pkg->{repos}}, $stage; + unless ( grep { $_->{nvra} eq $pkg->{nvra} && $_->{repo} eq $stage } @{$rpms->{$base}->{rpms}} ) { + $pkg->{oldrepo} = $pkg->{repo} unless $pkg->{oldrepo}; + $pkg->{repo} = $stage; + push @{$pkg->{repos}}, $stage; + } } if ( ! $print && ($pkg->{delete} || $pkg->{repos} || $pkg->{nosig} ) ) { print "\n$base ($disttag$ver)\n", "=" x length("$base ($disttag$ver)"), "\n";