/[smeserver]/builds_bin/checkrpms
ViewVC logotype

Diff of /builds_bin/checkrpms

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

Revision 1.4 by slords, Sat Dec 2 17:19:10 2006 UTC Revision 1.8 by slords, Fri Apr 27 21:40:19 2007 UTC
# Line 4  use strict; Line 4  use strict;
4  use warnings;  use warnings;
5  use RPM2;  use RPM2;
6  use Data::Dumper;  use Data::Dumper;
7    use Getopt::Std;
8    
9  my $rpm_flags =  RPM2->vsf_nodsa;  my %opts;
10  my $build_dir  = "/builds/RPMS";  getopts( "s:", \%opts );
11    my $src = $opts{s} || '/builds/RPMS';
12    
13    my $rpm_flags = RPM2->vsf_nodsaheader | RPM2->vsf_nodsa;
14  my @repositories = qw(  my @repositories = qw(
15          /mirrors/centos/4/fasttrack/i386/RPMS/          /mirrors/centos/4/fasttrack/i386/RPMS/
16          /mirrors/centos/4/updates/i386/RPMS/          /mirrors/centos/4/updates/i386/RPMS/
# Line 23  my @repositories = qw( Line 27  my @repositories = qw(
27          /builds/rpms/RPMS/noarch/          /builds/rpms/RPMS/noarch/
28          );          );
29    
30  opendir RPMS, $build_dir or die "Couldn't opendir $build_dir";  opendir RPMS, $src or die "Couldn't opendir $src";
31  my %rpms = map { my $x = RPM2->open_package("$build_dir/$_", $rpm_flags); $x->tag('NAME') => $x; } grep { /\.rpm$/ } readdir RPMS;  my %rpms = map { my $x = RPM2->open_package("$src/$_", $rpm_flags); $x->tag('NAME') => $x; } grep { /\.rpm$/ } readdir RPMS;
32  closedir RPMS;  closedir RPMS;
33    
34  my %repos;  my %repos;
# Line 45  foreach my $rpm ( sort keys %rpms ) Line 49  foreach my $rpm ( sort keys %rpms )
49      foreach my $file ( grep { /^$rpmfix-[0-9].*\.rpm$/ } keys %repos )      foreach my $file ( grep { /^$rpmfix-[0-9].*\.rpm$/ } keys %repos )
50      {      {
51          $header = RPM2->open_package("$repos{$file}/$file", $rpm_flags);          $header = RPM2->open_package("$repos{$file}/$file", $rpm_flags);
52          if ($header ge $rpms{$rpm} || $header->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#)          if ($header ge $rpms{$rpm} || $header->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i)
53          {          {
54              push @headers, $header;              push @headers, $header;
55          }          }
56      }      }
57      @headers = reverse sort { $a cmp $b } @headers;      @headers = reverse sort { $a cmp $b } @headers;
58      if (grep { $_->filename =~ m#/centos/[\d.]+/(updates|fasttrack)/# } @headers)      if (grep { $_->filename =~ m#/centos/[\d.]+/(updates|fasttrack)/#i } @headers)
59      {      {
60          @headers = grep { $_->filename !~ m#/centos/[\d.]+/os/# } @headers;          @headers = grep { $_->filename !~ m#/centos/[\d.]+/os/#i || $_ eq $rpms{$rpm} } @headers;
61      }      }
62      if (grep { $_->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/# || $_->filename =~ m#/dag/[^d]# } @headers)      if (grep { $_->filename =~ m#/centos/[\d.]+/(os|updates|fasttrack|extras)/#i || $_->filename =~ m#/dag/[^d]#i } @headers)
63      {      {
64          @headers = grep { $_->filename !~ m#/atrpms/# } @headers;          @headers = grep { $_->filename !~ m#/atrpms/#i || $_ eq $rpms{$rpm} } @headers;
65          @headers = grep { $_->filename !~ m#/fedora/# } @headers;          @headers = grep { $_->filename !~ m#/fedora/#i || $_ eq $rpms{$rpm} } @headers;
         @headers = grep { $_->filename !~ m#/fedora-legacy/# } @headers;  
66      }      }
67      if ($#headers < 0)      if ($#headers < 0)
68      {      {
69          print "$rpm\n";          print "$rpm\n";
70          print "  ***** can't find $rpm in any repository *****\n";          print "  ***** can't find $rpm in any repository *****\n";
71      }      }
72      elsif ( $headers[0]->filename !~ m#/centos/[\d.]+/(os|updates|fastrrack|extras)/#  || $headers[0] ne $rpms{$rpm} )      elsif ( $headers[0]->filename !~ m#/centos/[\d.]+/(os|updates|fastrrack|extras)/#i  || $headers[0] ne $rpms{$rpm} )
73      {      {
74          if (grep { $_ ne $rpms{$rpm} } @headers)          if (grep { $_ ne $rpms{$rpm} } @headers)
75          {          {
# Line 78  foreach my $rpm ( sort keys %rpms ) Line 81  foreach my $rpm ( sort keys %rpms )
81                  my $filename = $rpms{$rpm}->filename;                  my $filename = $rpms{$rpm}->filename;
82                  $filename =~ s@^.*/(.*)@$1@;                  $filename =~ s@^.*/(.*)@$1@;
83                  print " " . ($header eq $rpms{$rpm} ? "** " : "-- ") . $header->as_nvre . " ($path)\n";                  print " " . ($header eq $rpms{$rpm} ? "** " : "-- ") . $header->as_nvre . " ($path)\n";
84                  #print "     - rm $build_dir/$filename; cp ". $header->filename . " $build_dir\n";                  #print "     - rm -f $src/$filename; cp ". $header->filename . " $src\n";
85              }              }
86          }          }
87      }      }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed