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; _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/pkg-games-commits

