r6896 - /scripts/qa/versioncheck2.pl
tincho-guest at users.alioth.debian.org
tincho-guest at users.alioth.debian.org
Fri Aug 17 20:56:23 UTC 2007
Author: tincho-guest
Date: Fri Aug 17 20:56:23 2007
New Revision: 6896
URL: http://svn.debian.org/wsvn/?sc=1&rev=6896
Log:
Added fallback to cache when the mirrors are down
Modified:
scripts/qa/versioncheck2.pl
Modified: scripts/qa/versioncheck2.pl
URL: http://svn.debian.org/wsvn/scripts/qa/versioncheck2.pl?rev=6896&op=diff
==============================================================================
--- scripts/qa/versioncheck2.pl (original)
+++ scripts/qa/versioncheck2.pl Fri Aug 17 20:56:23 2007
@@ -128,7 +128,10 @@
# Should be made incremental using reasonable-sized buffer
my $url = "$MIRROR/debian/dists/$suite/$section/source/Sources.gz";
my $sources_gz = LWP::Simple::get($url);
- $sources_gz or die "Can't download $url";
+ unless($sources_gz) {
+ warn "Can't download $url";
+ return 0;
+ }
my $sources = Compress::Zlib::memGunzip(\$sources_gz);
my $src_io = IO::Scalar->new(\$sources);
@@ -157,44 +160,55 @@
),
);
to_cache($hash, $suite);
+ 1;
}
my %packages; # contains {package => version} pairs
-scan_packages(
- 'unstable', \%packages,
-) unless from_cache(\%packages, 'unstable', 6);
+unless(from_cache(\%packages, 'unstable', 6)) {
+ scan_packages('unstable', \%packages)
+ or from_cache(\%packages, 'unstable', 999) or die;
+}
my %experimental; # contains {package => version} pairs
-scan_packages(
- 'experimental', \%experimental,
-) unless from_cache(\%experimental, 'experimental', 6);
+unless(from_cache(\%experimental, 'experimental', 6)) {
+ scan_packages('experimental', \%experimental)
+ or from_cache(\%experimental, 'experimental', 999) or die;
+}
my %stable; # contains {package => version} pairs
-scan_packages(
- 'stable', \%stable,
-) unless from_cache(\%stable, 'stable', 168); # 1 week
+unless(from_cache(\%stable, 'stable', 168)) {
+ scan_packages('stable', \%stable)
+ or from_cache(\%stable, 'stable', 999) or die;
+}
my %oldstable; # contains {package => version} pairs
-scan_packages(
- 'oldstable', \%oldstable,
-) unless from_cache(\%oldstable, 'oldstable', 168); # 1 week
+unless(from_cache(\%oldstable, 'oldstable', 168)) {
+ scan_packages('oldstable', \%oldstable)
+ or from_cache(\%oldstable, 'oldstable', 999) or die;
+}
my %incoming; # contains {package => version} pairs
-scan_incoming(
- \%incoming,
-) unless from_cache(\%incoming, 'incoming', 1);
+unless(from_cache(\%incoming, 'incoming', 1)) {
+ scan_packages('incoming', \%incoming)
+ or from_cache(\%incoming, 'incoming', 999) or die;
+}
my %new; # contains {package => version} pairs
-scan_new(
- \%new,
-) unless from_cache(\%new, 'new', 1);
+unless(from_cache(\%new, 'new', 1)) {
+ scan_packages('new', \%new)
+ or from_cache(\%new, 'new', 999) or die;
+}
my( %cpan_authors, %cpan_modules, $cpan_updated );
unless(not $force_cpan and from_cache(\%cpan_authors, 'cpan_authors', 12)
and from_cache(\%cpan_modules, 'cpan_modules', 12))
{
- scan_cpan(\%cpan_authors, \%cpan_modules);
- $cpan_updated = 1;
+ if(scan_cpan(\%cpan_authors, \%cpan_modules)) {
+ $cpan_updated = 1;
+ } else {
+ from_cache(\%cpan_authors, 'cpan_authors', 999) or die;
+ from_cache(\%cpan_modules, 'cpan_modules', 999) or die;
+ }
}
sub scan_incoming {
@@ -245,6 +259,10 @@
open(TMP, '+>', undef) or die "Unable to open anonymous temporary file";
my $old = select(TMP);
my $lslr = LWP::Simple::getprint("$CPAN_MIRROR/ls-lR.gz");
+ unless(-s TMP) {
+ close TMP;
+ return 0;
+ }
select($old);
seek(TMP, 0, 0);
my $gz = Compress::Zlib::gzopen(\*TMP, 'rb') or die $Compress::Zlib::gzerrno;
@@ -284,6 +302,7 @@
close(TMP);
to_cache($cpauth, 'cpan_authors');
to_cache($cpmod, 'cpan_modules');
+ 1;
}
# RETURNS
More information about the Pkg-perl-cvs-commits
mailing list