--- builds_bin/checkrpms 2007/05/19 21:55:09 1.14 +++ builds_bin/checkrpms 2007/05/22 17:52:44 1.15 @@ -7,7 +7,7 @@ use Data::Dumper; use Getopt::Std; my %opts; -getopts( "s:", \%opts ); +getopts( "als:", \%opts ); my $src = $opts{s} || '/builds/RPMS'; my $centosrel = '4'; @@ -60,20 +60,21 @@ foreach my $rpm ( sort keys %rpms ) foreach my $file ( grep { /^$rpmfix-[0-9].*\.rpm$/ } keys %repos ) { $header = RPM2->open_package("$repos{$file}/$file", $rpm_flags); - if ($header ge $rpms{$rpm} || $header->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i) + if ($header ge $rpms{$rpm} || $header->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i || $opts{a}) { push @headers, $header; } } @headers = reverse sort { $a cmp $b } @headers; - if (grep { $_->filename =~ m#/centos/[\d.]+/(updates|fasttrack)/#i } @headers) - { - @headers = grep { $_->filename !~ m#/centos/[\d.]+/os/#i || $_ eq $rpms{$rpm} } @headers; - } - if (grep { $_->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i || $_->filename =~ m#/(dag|epel)/[^d]#i } @headers) - { - @headers = grep { $_->filename !~ m#/atrpms/#i || $_ eq $rpms{$rpm} } @headers; - @headers = grep { $_->filename !~ m#/fedora/#i || $_ eq $rpms{$rpm} } @headers; + unless ($opts{a}) { + if (grep { $_->filename =~ m#/centos/[\d.]+/(updates|fasttrack)/#i } @headers) + { + @headers = grep { $_->filename !~ m#/centos/[\d.]+/os/#i || $_ eq $rpms{$rpm} } @headers; + } + if (grep { $_->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i || $_->filename =~ m#/(dag|epel)/[^d]#i } @headers) + { + @headers = grep { $_->filename !~ m#/(atrpms|fedora)/#i || $_->filename =~ m#/epel/#i || $_ eq $rpms{$rpm} } @headers; + } } if ($#headers < 0) { @@ -82,6 +83,7 @@ foreach my $rpm ( sort keys %rpms ) } elsif ( $headers[0]->filename !~ m#/centos/[\d.]+/(os|updates|fastrrack|extras)/#i || $headers[0] ne $rpms{$rpm} ) { + next if $headers[0] eq $rpms{$rpm} && $opts{l}; if (grep { $_ ne $rpms{$rpm} } @headers) { print "$rpm\n"; @@ -91,8 +93,9 @@ foreach my $rpm ( sort keys %rpms ) $path =~ s@^(.*)/.*@$1@; my $filename = $rpms{$rpm}->filename; $filename =~ s@^.*/(.*)@$1@; - print " " . ($header eq $rpms{$rpm} ? "** " : "-- ") . $header->as_nvre . " ($path)\n"; + print " " . ( $header eq $rpms{$rpm} ? "** " : ( $path =~ m#/centos/# ? "-- " : ".. " ) ) . $header->as_nvre . " ($path)\n"; #print " - rm -f $src/$filename; cp ". $header->filename . " $src\n"; + last if $header eq $rpms{$rpm} && $opts{l}; } } }