--- builds_bin/update_repos 2007/12/23 22:24:41 1.35 +++ builds_bin/update_repos 2008/01/22 20:34:23 1.37 @@ -29,7 +29,6 @@ my $distrepo = { '7' => { active => 1, os => 'RPMS/', builds => '/builds/smeserver-7-core/', contribs => '/builds/smeserver-7-contribs/', - qa => '/builds/smeserver-7-qa/', stage => '/stage/7/', }, '8' => { active => 1, @@ -39,7 +38,6 @@ my $distrepo = { '7' => { active => 1, os => '', builds => '/builds/smeserver-8-core/', contribs => '/builds/smeserver-8-contribs/', - qa => '/builds/smeserver-8-qa/', stage => '/stage/8/', }, }; @@ -143,7 +141,7 @@ foreach my $smever ( sort { $a <=> $b } last unless $dir =~ m{~A}; } } - find( { wanted => sub { process_rpm($_, $smever, 'builds'); }, no_chdir => 1, follow_fast => 1 }, ( $distrepo->{$smever}->{'builds'}, $distrepo->{$smever}->{'qa'} ) ); + find( { wanted => sub { process_rpm($_, $smever, 'builds'); }, no_chdir => 1, follow_fast => 1 }, $distrepo->{$smever}->{'builds'} ); find( { wanted => sub { process_rpm($_, $smever, 'contribs'); }, no_chdir => 1, follow_fast => 1 }, $distrepo->{$smever}->{'contribs'} ); foreach my $base ( sort keys %$rpms ) { @@ -234,6 +232,7 @@ 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} && $reposrc{$cmp->{repo}} ) { $reposrc{$cmp->{repo}}->{srpm} = $cmp; @@ -249,7 +248,31 @@ foreach my $smever ( sort { $a <=> $b } $track{svr} = $cmp->{svr}; } } elsif ( ! $repos->{$cmp->{repo}}->{base} ) { - $cmp->{delete}++; + if ( $repos->{$cmp->{repo}}->{orig} ) { + $srpm = $cmp if ! $srpm && $cmp->{src}; + 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) ) { + 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}++; + } + $cmp->{oldrepo} = $cmp->{repo} unless $cmp->{oldrepo}; + $cmp->{repo} = $dest; + if ( $cmp->{src} && $reposrc{$cmp->{repo}} ) { + $reposrc{$cmp->{repo}}->{srpm} = $cmp; + } + } else { + $cmp->{delete}++; + } + } else { + $cmp->{delete}++; + } } } unless ( $repos->{$cmp->{repo}}->{orig} || ( $cmp->{delete} && ! $cmp->{repos} ) ) { @@ -382,7 +405,7 @@ foreach my $smever ( sort { $a <=> $b } } } unless ( $opts{t} ) { - finddepth(sub{rmdir}, $distrepo->{$smever}->{$_}) foreach ('builds','contribs','qa'); + finddepth(sub{rmdir}, $distrepo->{$smever}->{$_}) foreach ('builds','contribs'); } }