--- builds_bin/update_repos 2008/01/22 20:34:23 1.37 +++ builds_bin/update_repos 2008/01/22 22:21:42 1.38 @@ -232,7 +232,9 @@ foreach my $smever ( sort { $a <=> $b } } $cmp->{oldrepo} = $cmp->{repo} unless $cmp->{oldrepo}; $cmp->{repo} = $dest; - $track{repo} = $dest unless $dest eq $track{repo}; + if ( ! $cmp->{src} || $repos->{$dest}->{prio} > $repos->{$track{repo}}->{prio} ) { + $track{repo} = $dest; + } } if ( $cmp->{src} && $reposrc{$cmp->{repo}} ) { $reposrc{$cmp->{repo}}->{srpm} = $cmp; @@ -253,20 +255,14 @@ foreach my $smever ( sort { $a <=> $b } my $dest = $repos->{$track{repo}}->{prio} > $repos->{$devel2}->{prio} ? $track{repo} : $devel2; $dest = pkgdest($cmp, $devel1, $dest, $rpms->{$base}->{rpms}); $dest = $devel1 if verrel($cmp, $dest, \%counts); - unless ( verrel($cmp, $dest, \%counts) ) { + if ( $cmp->{src} && ! $reposrc{$dest} ) { + $cmp->{delete}++; + } elsif ( $repos->{$dest}->{prio} >= $repos->{$track{repo}}->{prio} && ! verrel($cmp, $dest, \%counts) ) { push @{$cmp->{repos}}, $dest; - if ( $repos->{$cmp->{repo}}->{orig} ) { - $orig{$cmp->{nvra}}++; - } elsif ( $cmp->{src} && $reposrc{$cmp->{repo}} ) { - $reposrc{$cmp->{repo}}->{srpm} = $cmp; - } else { - $cmp->{delete}++; - } + $orig{$cmp->{nvra}}++; $cmp->{oldrepo} = $cmp->{repo} unless $cmp->{oldrepo}; $cmp->{repo} = $dest; - if ( $cmp->{src} && $reposrc{$cmp->{repo}} ) { - $reposrc{$cmp->{repo}}->{srpm} = $cmp; - } + $reposrc{$cmp->{repo}}->{srpm} = $cmp if $cmp->{src}; } else { $cmp->{delete}++; }