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.10 2006/02/14 04:08:46 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 |
|
|
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"; |
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 |
|
|
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}; |