/[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.8 by gordonr, Sun Feb 12 05:01:05 2006 UTC Revision 1.15 by slords, Sat Dec 2 17:19:10 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.7 2006/02/08 04:04:48 gordonr Exp $  # $Id: update_rpms_dir,v 1.14 2006/04/19 06:25:05 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", "debug", "rpms_dir=s");  GetOptions(\%opt, "verbose", "debug", "rpms_dir=s", "target_dir=s");
17    
18  # XXX - FIXME - These will be command line options  # XXX - FIXME - These will be command line options
19    
20  my $rpms_dir = $opt{rpms_dir} || "/builds/RPMS";  my $rpms_dir = $opt{rpms_dir} || "/builds/RPMS";
21    
22  warn "Using $rpms_dir\n" if $opt{debug};  my $target_dir = $opt{target_dir} || $rpms_dir;
23    
24    warn "Using $rpms_dir\n" if $opt{verbose};
25    
26  my @repositories = qw(  my @repositories = qw(
27                  /builds/rpms/RPMS/i386/                  /builds/rpms/RPMS/i386/
28                    /builds/rpms/RPMS/i586/
29                    /builds/rpms/RPMS/i686/
30                  /builds/rpms/RPMS/noarch/                  /builds/rpms/RPMS/noarch/
31                  /mirrors/centos/4.2/updates/i386/RPMS/                  /mirrors/centos/4/fasttrack/i386/RPMS/
32                  /mirrors/centos/4.2/os/i386/CentOS/RPMS/                  /mirrors/centos/4/updates/i386/RPMS/
33                    /mirrors/centos/4/os/i386/CentOS/RPMS/
34                  );                  );
35    
36  chdir $rpms_dir or die "Couldn't chdir $rpms_dir";  chdir $rpms_dir or die "Couldn't chdir $rpms_dir";
# Line 45  for my $file ( sort grep { /.rpm$/ } rea Line 50  for my $file ( sort grep { /.rpm$/ } rea
50          if ($newest)          if ($newest)
51          {          {
52              # XXX - FIXME - Should we try other repos, or stop here?              # XXX - FIXME - Should we try other repos, or stop here?
53              warn "rm $rpms_dir/$file; cp -p $dir/$newest $rpms_dir\n"              print "rm $target_dir/$file; cp -p $dir/$newest $target_dir\n"
54          }                }      
55      }      }
56  }  }
# Line 59  sub find_newest Line 64  sub find_newest
64      my $name = $rpm->name;      my $name = $rpm->name;
65      $name =~ s/\+/\\+/g;        # libstdc++ and friends      $name =~ s/\+/\\+/g;        # libstdc++ and friends
66    
67      opendir DIR, $dir or die "Couldn't opendir $dir";      unless (opendir DIR, $dir)
68        {
69            warn "Couldn't opendir $dir";
70            return;
71        }
72    
73      my @rpms = sort grep { /^${name}-.*.rpm$/ } readdir DIR;      my @rpms = sort grep { /^${name}-.*.rpm$/ } readdir DIR;
74      closedir DIR;      closedir DIR;
75    
# Line 78  sub find_newest Line 88  sub find_newest
88              next;              next;
89          }          }
90    
91            if ($candidate->arch ne $rpm->arch)
92            {
93                warn "\tIgnoring $file - arch "
94                    . $candidate->arch .  " want " . $rpm->arch . "\n"
95                    if $opt{debug};
96                next;
97            }
98    
99          if ( ($candidate cmp $rpm) <= 0)          if ( ($candidate cmp $rpm) <= 0)
100          {          {
101              warn "\tIgnoring $file - older or same version\n" if $opt{debug};              warn "\tIgnoring $file - older or same version\n" if $opt{debug};


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