/[smeserver]/builds_bin/update_rpms_dir
ViewVC logotype

Diff of /builds_bin/update_rpms_dir

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

Revision 1.1 by gordonr, Thu Sep 15 23:55:09 2005 UTC Revision 1.5 by gordonr, Mon Jan 9 07:07:14 2006 UTC
# Line 4  Line 4 
4  # is free software; you can redistribute it and/or modify it under the  # is free software; you can redistribute it and/or modify it under the
5  # same terms as Perl itself.  # same terms as Perl itself.
6  #  #
7  # $Id: update_rpms_dir,v 1.5 2005/09/13 06:32:13 gordonr Exp $  # $Id: update_rpms_dir,v 1.4 2005/11/10 19:44:12 gordonr Exp $
8  #  #
9  # Update RPMS directory with the latest from a given list of directories  # Update RPMS directory with the latest from a given list of directories
10    
# Line 13  use Getopt::Long; Line 13  use Getopt::Long;
13    
14  my $rpm_flags =  RPM2->vsf_nodsa;       # Deal with missing DSA keys  my $rpm_flags =  RPM2->vsf_nodsa;       # Deal with missing DSA keys
15    
16  GetOptions(\%opt, "verbose");  GetOptions(\%opt, "verbose", "debug");
17    
18  # XXX - FIXME - These will be command line options  # XXX - FIXME - These will be command line options
19    
# Line 23  my @repositories = qw( Line 23  my @repositories = qw(
23                  /builds/rpms/RPMS/i386/                  /builds/rpms/RPMS/i386/
24                  /builds/rpms/RPMS/noarch/                  /builds/rpms/RPMS/noarch/
25                  /mirrors/mitel/devel/repo/RPMS/                  /mirrors/mitel/devel/repo/RPMS/
26                  /mirrors/centos/4.1/updates/i386/RPMS/                  /mirrors/centos/4.2/updates/i386/RPMS/
27                  /mirrors/centos/4.1/os/i386/CentOS/RPMS/                  /mirrors/centos/4.2/os/i386/CentOS/RPMS/
28                  );                  );
29    
30  chdir $rpms_dir or die "Couldn't chdir $rpms_dir";  chdir $rpms_dir or die "Couldn't chdir $rpms_dir";
# Line 44  for my $file ( sort grep { /.rpm$/ } rea Line 44  for my $file ( sort grep { /.rpm$/ } rea
44          if ($newest)          if ($newest)
45          {          {
46              # XXX - FIXME - Should we try other repos, or stop here?              # XXX - FIXME - Should we try other repos, or stop here?
47              warn "=====> cd $rpms_dir; rm $file; cp $dir/$newest .\n"              warn "rm $rpms_dir/$file; cp -p $dir/$newest $rpms_dir\n"
48          }                }      
49      }      }
50  }  }
# Line 59  sub find_newest Line 59  sub find_newest
59      $name =~ s/\+/\\+/g;        # libstdc++ and friends      $name =~ s/\+/\\+/g;        # libstdc++ and friends
60    
61      opendir DIR, $dir or die "Couldn't opendir $dir";      opendir DIR, $dir or die "Couldn't opendir $dir";
62      my @rpms = grep { /^${name}-.*.rpm$/ } readdir DIR;      my @rpms = sort grep { /^${name}-.*.rpm$/ } readdir DIR;
63      closedir DIR;      closedir DIR;
64    
65      my $newest_file = undef;      my $newest_file = undef;
# Line 71  sub find_newest Line 71  sub find_newest
71    
72          if ($candidate->name ne $name)          if ($candidate->name ne $name)
73          {          {
74              warn "Ignoring $file - name doesn't match\n" if $opt{verbose};              warn "Ignoring $file - name doesn't match\n" if $opt{debug};
75              next;              next;
76          }          }
77    
78          if ( ($candidate cmp $rpm) <= 0)          if ( ($candidate cmp $rpm) <= 0)
79          {          {
80              warn "Ignoring $file - older or same version\n" if $opt{verbose};              warn "Ignoring $file - older or same version\n" if $opt{debug};
81              next;              next;
82          }          }
83    
84          if (not defined $newest_hdr or ($candidate cmp $newest_hdr) < 0)          if (not defined $newest_hdr or ($candidate cmp $newest_hdr) > 0)
85          {          {
86              warn "Newest is $file\n" if $opt{verbose};              warn "Newest is $file\n" if $opt{debug};
87              $newest_file = $file;              $newest_file = $file;
88              $newest_hdr = $candidate;              $newest_hdr = $candidate;
89          }          }


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