--- builds_bin/update_repos 2007/11/05 03:10:02 1.22 +++ builds_bin/update_repos 2007/11/07 21:14:58 1.25 @@ -128,15 +128,22 @@ foreach my $smever ( sort { $a <=> $b } $archs = (); foreach my $pkg ( @pkgs ) { - next if $pkg->{done} || $pkg->{obsolete} || $pkg->{rpm}->is_source_package || ! $repos->{$pkg->{repo}} || rprop($pkg, 'stage'); + next if $pkg->{done} || $pkg->{obsolete} || $pkg->{rpm}->is_source_package || ! $repos->{$pkg->{repo}}; printline('bold black', 1, ' - ', $pkg->{rpm}->filename) if $opts{d}; my $orig = 0; # Find names of packages in same or higher repos my %names = names($pkg, @pkgs); + # Stage packages should never be most current + if ( rprop($pkg, 'stage') ) { + printline('dark blue', 1, ' - checking stage') if $opts{d}; + tagpkg($pkg, 'obsolete'); + next; + } + # Move packages from base/builds to correct area - if ( rprop($pkg, 'base') || rprop($pkg, 'builds') ) { + elsif ( rprop($pkg, 'base') || rprop($pkg, 'builds') ) { printline('dark blue', 1, ' - checking base/builds') if $opts{d}; my $repo = $names{$pkg->{name}} && $names{$pkg->{name}} > 1 ? $devel2 : $devel1; if ( $pkg->{nonbase} ) { @@ -248,12 +255,6 @@ foreach my $smever ( sort { $a <=> $b } } } } - printline('bold black', 1, ' - missing stage packages') if $opts{d}; - movepkg($_, $stage, 0) foreach grep { $_->{latest} && $_->{latest} == 1 } @pkgs; - - printline('bold black', 1, ' - obsolete packages') if $opts{d}; - movepkg($_, 'delete') foreach grep { ! rprop($_, 'base') && ! $_->{done} && ( $_->{obsolete} || ( $_->{rpm}->is_source_package && ! $_->{inuse} ) ) } @pkgs; - printline('bold black', 1, ' - arch count check') if $opts{d}; foreach my $r ( keys %$archs ) { foreach my $p ( keys %{$archs->{$r}} ) { @@ -267,6 +268,12 @@ foreach my $smever ( sort { $a <=> $b } } } } + + printline('bold black', 1, ' - missing stage packages') if $opts{d}; + movepkg($_, $stage, 0) foreach grep { $_->{latest} && $_->{latest} == 1 } @pkgs; + + printline('bold black', 1, ' - obsolete packages') if $opts{d}; + movepkg($_, 'delete') foreach grep { ! rprop($_, 'base') && ! $_->{done} && ( $_->{obsolete} || ( $_->{rpm}->is_source_package && ! $_->{inuse} ) ) } @pkgs; } printline('white', 0, "Finished processing.\n"); @@ -483,7 +490,9 @@ sub loadpkg { nosig => $nosig, }; $sources{$srcname}++; - $latest{$pkg->name} = $rpms[$#rpms] if ! $pkg->is_source_package && ( ! $latest{$pkg->name} || $pkg gt $latest{$pkg->name}->{rpm} ); + if ( ! $pkg->is_source_package && ! $repos->{$reponame}->{stage} ) { + $latest{$pkg->name} = $rpms[$#rpms] if ! $latest{$pkg->name} || $pkg gt $latest{$pkg->name}->{rpm}; + } } sub loadbase { @@ -504,7 +513,7 @@ sub loadbase { return if grep { $_ eq $srcname } @{$skippkg->{$rel}->{$repo}}; $pkgrepo = $repo; return unless $pkg->is_source_package || $cmp; - return if ! $pkg->is_source_package && $pkg gt $cmp->{rpm} && rprop($cmp, 'base') && rprop($cmp, 'prio') > $repos->{$pkgrepo}->{prio}; + return if ! $pkg->is_source_package && $pkg ge $cmp->{rpm} && rprop($cmp, 'base') && rprop($cmp, 'prio') > $repos->{$pkgrepo}->{prio}; last; } }