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