r3055 - people/goneri/SvnBuildStat-WWW/script
Gonéri Le Bouder
goneri-guest at alioth.debian.org
Thu Jun 21 15:15:00 UTC 2007
Author: goneri-guest
Date: 2007-06-21 15:15:00 +0000 (Thu, 21 Jun 2007)
New Revision: 3055
Modified:
people/goneri/SvnBuildStat-WWW/script/svnbuildstat_update-db.pl
Log:
I can't make to Thread::Pool::Simple instance working at the same time, why?
I added a flag in the package table to mark broken watchfile
Modified: people/goneri/SvnBuildStat-WWW/script/svnbuildstat_update-db.pl
===================================================================
--- people/goneri/SvnBuildStat-WWW/script/svnbuildstat_update-db.pl 2007-06-21 12:59:44 UTC (rev 3054)
+++ people/goneri/SvnBuildStat-WWW/script/svnbuildstat_update-db.pl 2007-06-21 15:15:00 UTC (rev 3055)
@@ -1,15 +1,5 @@
#!/usr/bin/perl -w
use File::Temp qw/ tempfile /;
-#
-# uscan --package gnome-bluetooth --dehs --upstream-version 0.8.0 --watchfile watch
-#<dehs>
-#<package>gnome-bluetooth</package>
-#<debian-uversion>0.8.0</debian-uversion>
-#<debian-mangled-uversion>0.8.0</debian-mangled-uversion>
-#<upstream-version>0.8.0</upstream-version>
-#<upstream-url>http://ftp.gnome.org/pub/gnome/sources/gnome-bluetooth/0.8/gnome-bluetooth-0.8.0.tar.gz</upstream-url>
-#<status>up to date</status>
-#</dehs>
use strict;
@@ -30,8 +20,6 @@
my $config;
my $schema;
-#my $poolImportPkg;
-my $poolImportRepository : shared;
my $poolImportPkg : shared;
sub getRev {
@@ -42,8 +30,7 @@
}
return;
-}
-
+}
sub mkTarballFromPackage {
my $package = shift;
@@ -105,7 +92,6 @@
my $tmp = "$1/".$$package->name if $$package->name =~ /^(lib.|.)/;
my $debdiffuri = $debmirror.'/pool/'.$section.'/'.$tmp.'/'.$debdiff;
my $tmp_tarballuri = $debmirror.'/pool/'.$section.'/'.$tmp.'/'.$tarball;
-# print $tmp_tarballuri."\n";
if (testUrl($debdiffuri)) {
$isindebian = 't';
}
@@ -116,7 +102,6 @@
}
}
}
-# print "tarballuri -> ".$tarballuri."\n";
return { tarballuri => $tarballuri, isindebian => $isindebian, isnative => $isnative };
}
@@ -145,23 +130,25 @@
my $tarballuri;
my $isuptodate = 't';
+ my $iswatchfilebroken = 'f';
my $upstreamrelease;
foreach (@uscan) {
# print;
- $tarballuri = $1 if (/^<upstream-url>(.+tar\.gz)<\/upstream-url>$/);
+ $tarballuri = $1 if (/^<upstream-url>(.+tar\.gz)<\/upstream-url>$/i);
if (/^<status>/) {
$isuptodate = 'f' unless (/^<status>up to date<\/status>$/);
}
- $upstreamrelease = $1 if (/^<upstream-version>(.+)<\/upstream-version>$/);
+ $upstreamrelease = $1 if (/^<upstream-version>(.+)<\/upstream-version>$/);
+ $iswatchfilebroken = 't' if (/^<errors>/);
}
$tarballuri = '' unless $isuptodate eq 't';
- return {tarballuri => $tarballuri, isuptodate => $isuptodate, upstreamrelease => $upstreamrelease};
+ return {tarballuri => $tarballuri, isuptodate => $isuptodate, upstreamrelease => $upstreamrelease, iswatchfilebroken => $iswatchfilebroken};
}
sub importPkg {
-# print "ImportPkg\n";
+ print "ImportPkg\n";
my( $repository, $uri, $tarballonrepository) = @_;
my @maintainer;
@@ -230,6 +217,7 @@
my $uscandata = getUscanData(\$package);
my $ondebiandata = getOnDebianData(\$package);
my $tarballurlfromtarballlayout = createTarballUrlFromTarballlayout($repository,\$package);
+ $package->iswatchfilebroken($uscandata->{iswatchfilebroken});
# Is the tarball on a Debian mirror?
if ($ondebiandata->{isnative} eq 't') {
$package->isnative(1);
@@ -262,8 +250,9 @@
$package->isuptodate($uscandata->{isuptodate});
$package->upstreamrelease($uscandata->{upstreamrelease});
$package->isindebian($ondebiandata->{isindebian});
+ print "->".$package->name."\n";
+ $package->lastcheck('now');
$package->update();
- return $package->id;
}
@@ -278,7 +267,6 @@
sub importRepository {
my $repository = shift;
- my %present_packages;
my $tarballonrepository;
print "Repository: ".$$repository->name."\n";
@@ -309,24 +297,10 @@
foreach my $uri (@uri) {
# look for packages
-# print "->".$uri."\n";
- #my $pid = $poolImportPkg->add($repository,$uri,$tarballonrepository) or die "Fucked!\n";
- my $package_id = $poolImportPkg->add($repository,$uri,$tarballonrepository) or die "Fucked\n";
- $present_packages{$package_id} = 1;
+ print "->".$uri."\n";
+ $poolImportPkg->add($repository,$uri,$tarballonrepository) or die "Fucked\n";
}
-
- my $package_rs = $schema->resultset('Package')->search({repository_id => $$repository->id});
-
- while (my $package = $package_rs->next) {
- if (!exists ($present_packages{$package->id})) {
- $package->ismissing($package->ismissing + 1);
- } else {
- $package->ismissing(0);
- }
- $package->update();
- }
-
$$repository->rev($rev);
$$repository->lastcheck('now');
$$repository->update();
@@ -335,17 +309,6 @@
}
########## THREAD POOLS #####
-#$poolImportPkg = Thread::Pool::Simple->new(
-# max => $maxThreadPerPool,
-# do => [\&importPkg],
-# );
-$poolImportRepository = Thread::Pool::Simple->new(
- min => 3,
- max => 5,
- load => 10,
- do => [\&importRepository],
- lifespan => 1
- );
$poolImportPkg = Thread::Pool::Simple->new(
min => 5,
max => 7,
@@ -359,7 +322,6 @@
# Import packages
my $repository_rs = $schema->resultset('Repository')->search({enabled => 'true'});
while (my $repository = $repository_rs->next) {
- $poolImportRepository->add(\$repository) or die "Fucked\n";
+ importRepository(\$repository) or die "Fucked\n";
}
$poolImportPkg->join;
-$poolImportRepository->join;
More information about the Pkg-games-commits
mailing list