/[smeserver]/builds_bin/linksource
ViewVC logotype

Contents of /builds_bin/linksource

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


Revision 1.5 - (show annotations) (download)
Tue Dec 12 04:24:12 2006 UTC (17 years, 11 months ago) by slords
Branch: MAIN
Changes since 1.4: +3 -4 lines
fix linksource

1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use RPM2;
6 use File::Copy;
7 use Getopt::Std;
8
9 my %opts;
10 getopts( "s:d:", \%opts );
11 my $src = $opts{s} || '/builds/RPMS';
12 my $dest = $opts{d} || '/builds/SRPMS';
13
14 my $rpm_flags = RPM2->vsf_nodsa;
15 my @repositories = qw(
16 /mirrors/centos/4/fasttrack/SRPMS
17 /mirrors/centos/4/updates/SRPMS
18 /mirrors/centos/4/os/SRPMS
19 /mirrors/centos/4/extras/SRPMS
20 /mirrors/rpmforge/dag/source/
21 /mirrors/atrpms/src/el4-i386/atrpms/stable/
22 /mirrors/fedora-legacy/fedora/3/updates/SRPMS/
23 /mirrors/fedora-legacy/fedora/3/os/SRPMS/
24 /builds/rpms/SRPMS/
25 );
26
27 opendir RPMS, "$src" or die "Couldn't opendir $src";
28 my @rpms = map { RPM2->open_package("$src/$_", $rpm_flags) } grep { /\.rpm$/ } readdir RPMS;
29 closedir RPMS;
30
31 my %repos;
32 foreach my $repo (reverse @repositories)
33 {
34 my %temp_repo = map { $_ => $repo } grep { /\.rpm$/ } readdir RPMS if ( opendir RPMS, $repo );
35 closedir RPMS;
36
37 %repos = (%repos, %temp_repo);
38 }
39
40 foreach my $rpm ( sort @rpms )
41 {
42 my (@headers, $header);
43
44 my $rpmfix = $rpm;
45 $rpmfix =~ s@\+@\\+@g;
46
47 my @sources;
48 my $src = $rpm->tag('SOURCERPM');
49 push @sources, $src;
50 push @sources, $src if ($src =~ s/\.2\.el4\.rf\./\.rf\./);
51 push @sources, $src if ($src =~ s/\.el4\.rf\./\.rf\./);
52 push @sources, $src if ($src =~ s/\.el4\.at\./\.at\./);
53 push @sources, $src if ($src =~ s/\.rf\./\.dag\./);
54
55 my $found = 0;
56 foreach my $source ( @sources )
57 {
58 if( -f "$dest/$source" )
59 {
60 $found = 1;
61 last;
62 } else {
63 if ($repos{$source})
64 {
65 my $fromfile = $repos{$source} . "/$source";
66 $fromfile =~ s#//#/#g;
67 `cp --preserve=timestamps $fromfile $dest/`;
68 $found = 1;
69 last;
70 }
71
72 }
73 }
74 print "can't find SRPM ($sources[0]) for $rpm\n" unless $found;
75 }

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