--- builds_bin/update_repos 2007/04/29 03:34:37 1.3 +++ builds_bin/update_repos 2007/05/19 21:55:09 1.9 @@ -11,14 +11,18 @@ my $releases = 2; my $releasedir = '/releases'; my $smerel = '7'; -my $arch = 'i386'; my $centosrel = '4'; my $fedorarel = '3'; my $builds = '/builds/rpms'; my $stagedir = '/builds'; +my $arch = `uname -i`; +chomp $arch; my @repos = ( "$releasedir/$smerel/smeos/$arch/CentOS/RPMS", + "$releasedir/$smerel/smeos/$arch/SME/RPMS", + "$releasedir/$smerel/smeos/$arch/RPMS", + "$releasedir/$smerel/smeos/$arch/SME", "$releasedir/$smerel/smeupdates/$arch/RPMS", "$releasedir/$smerel/smeupdates-testing/$arch/RPMS", "$releasedir/$smerel/smeextras/$arch/RPMS", @@ -39,6 +43,7 @@ my @srcrepos = ( "/mirrors/centos/$centosrel/extras/SRPMS", "/mirrors/rpmforge/dag/source", "/mirrors/atrpms/src/el$centosrel-$arch/atrpms/stable", + "/mirrors/fedora/epel/$centosrel/SRPMS", "/mirrors/fedora/core/updates/$fedorarel/SRPMS", "/mirrors/fedora/core/$fedorarel/source/SRPMS", "/mirrors/fedora/extras/$fedorarel/SRPMS", @@ -123,7 +128,7 @@ foreach my $pkg ( keys %repohash ) { @{$repohash{$pkg}{$pos}} = grep { $_ gt $repohash{$pkg}{latest} } @{$repohash{$pkg}{$pos}}; delete $repohash{$pkg}{$pos}; } - } else { + } elsif ( ref($repohash{$pkg}{$pos}) eq 'ARRAY' ) { my ($latest, @rest) = sort { $b cmp $a } @{$repohash{$pkg}{$pos}}; delete $repohash{$pkg}{$pos}; if ( $repohash{$pkg}{latest} && $repohash{$pkg}{latest} ge $latest ) { @@ -180,15 +185,16 @@ foreach my $repo ( sort keys %srcrepohas foreach my $pkg ( sort grep { $repohash{$_}{$repo} } keys %repohash ) { my @rpms = ref($repohash{$pkg}{$repo}) eq "ARRAY" ? @{$repohash{$pkg}{$repo}} : ($repohash{$pkg}{$repo}); foreach my $rpm ( sort @rpms ) { - my $src = $rpm->tag("SOURCERPM"); + my $src; my @sources = (); - push @sources, $src; - push @sources, $src if ($src =~ s/\.\d+\.el\d+\.rf\./\.rf\./); - push @sources, $src if ($src =~ s/\.el\d\.rf\./\.rf\./); - push @sources, $src if ($src =~ s/\.el\d\.at\./\.at\./); - push @sources, $src if ($src =~ s/\.fc\d\.at\./\.at\./); - push @sources, $src if ($src =~ s/\.rf\./\.dag\./); + push @sources, ($src = $rpm->tag("SOURCERPM")); + push @sources, $src if (($src = $rpm->tag("SOURCERPM")) =~ s/\.el\d\.rf\./\.rf\./); + push @sources, $src if (($src = $rpm->tag("SOURCERPM")) =~ s/\.[0-3]\.el\d+\.rf\./\.rf\./); + push @sources, $src if (($src = $rpm->tag("SOURCERPM")) =~ s/\.(el|fc)\d\.at//); + push @sources, $src if (($src = $rpm->tag("SOURCERPM")) =~ s/\.at//); + push @sources, $src if (($src = $rpm->tag("SOURCERPM")) =~ s/\.(el|fc)\d//); + $src = $rpm->tag("SOURCERPM"); my $found = 0; foreach my $source ( @sources ) { @@ -236,8 +242,10 @@ print "\n"; foreach my $repo ( sort keys %changed ) { next if $repo =~ m{^$stagedir}; - print "rebuilding $repo/$arch...\n"; - system(qw(createrepo), "$repo/$arch"); - system(qw(repoview), "$repo/$arch"); + my $dir=`readlink -f $repo/$arch`; + chomp $dir; + print "rebuilding $dir...\n"; + system(qw(createrepo), "$dir"); + system(qw(repoview), "$dir"); }