/[smeserver]/builds_bin/linksource
ViewVC logotype

Annotation of /builds_bin/linksource

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


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

1 gordonr 1.1 #!/usr/bin/perl
2    
3     use strict;
4     use warnings;
5     use RPM2;
6     use File::Copy;
7 slords 1.4 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 gordonr 1.1
14     my $rpm_flags = RPM2->vsf_nodsa;
15     my @repositories = qw(
16 slords 1.3 /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 gordonr 1.1
27 slords 1.4 opendir RPMS, "$src" or die "Couldn't opendir $src";
28 slords 1.5 my @rpms = map { RPM2->open_package("$src/$_", $rpm_flags) } grep { /\.rpm$/ } readdir RPMS;
29 gordonr 1.1 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 slords 1.5 foreach my $rpm ( sort @rpms )
41 gordonr 1.1 {
42     my (@headers, $header);
43    
44     my $rpmfix = $rpm;
45     $rpmfix =~ s@\+@\\+@g;
46    
47     my @sources;
48 slords 1.5 my $src = $rpm->tag('SOURCERPM');
49 gordonr 1.1 push @sources, $src;
50     push @sources, $src if ($src =~ s/\.2\.el4\.rf\./\.rf\./);
51 gordonr 1.2 push @sources, $src if ($src =~ s/\.el4\.rf\./\.rf\./);
52 slords 1.3 push @sources, $src if ($src =~ s/\.el4\.at\./\.at\./);
53 gordonr 1.1 push @sources, $src if ($src =~ s/\.rf\./\.dag\./);
54    
55     my $found = 0;
56     foreach my $source ( @sources )
57     {
58 slords 1.4 if( -f "$dest/$source" )
59 gordonr 1.1 {
60     $found = 1;
61     last;
62     } else {
63     if ($repos{$source})
64     {
65     my $fromfile = $repos{$source} . "/$source";
66     $fromfile =~ s#//#/#g;
67 slords 1.4 `cp --preserve=timestamps $fromfile $dest/`;
68 gordonr 1.1 $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