[Collab-qa-commits] r611 - ddpo-by-mail

lucas at alioth.debian.org lucas at alioth.debian.org
Wed Dec 19 13:11:15 UTC 2007


Author: lucas
Date: 2007-12-19 13:11:15 +0000 (Wed, 19 Dec 2007)
New Revision: 611

Modified:
   ddpo-by-mail/reminder-mail.rb
Log:
exclude packages containing udebs. get the list of bugs with ignotherfixed=on

Modified: ddpo-by-mail/reminder-mail.rb
===================================================================
--- ddpo-by-mail/reminder-mail.rb	2007-12-19 11:21:32 UTC (rev 610)
+++ ddpo-by-mail/reminder-mail.rb	2007-12-19 13:11:15 UTC (rev 611)
@@ -4,25 +4,38 @@
 require 'pkgtestingstatus'
 require 'ddpo-config'
 
+IGNFIXED="&ignotherfixed=on"
+#IGNFIXED=""
 def update_data
   system("rm -f buglist ddpo_packages ddpo_maintainers popcon_by_inst")
-  system("wget -q -O buglist 'http://bts.turmzimmer.net/details.php?bydist=sid&sortby=packages&ignnew=on&new=#{BUG_AGE}&refresh=1800'")
+  system("wget -q -O buglist 'http://bts.turmzimmer.net/details.php?bydist=sid&sortby=packages&ignnew=on#{IGNFIXED}&new=#{BUG_AGE}&refresh=1800'")
   system("wget -q -O ddpo_packages http://qa.debian.org/data/ddpo/results/ddpo_packages")
   system("wget -q -O ddpo_maintainers http://qa.debian.org/data/ddpo/results/ddpo_maintainers")
   system('wget -q -O - http://popcon.debian.org/by_inst | grep -v "^#" | grep -v "^Total" | awk \'{print $2 " " $3 " " $4 " " $5 " " $6 " " $7}\' > popcon_by_inst')
 end
 update_data
 
-# parse testing status
-begin
-  require 'date'
-  now = Date::today
-  file = Dir::glob('../testing-status/data.*').sort[-1]
-  pts = PkgTestingStatus::read(File::new(file,'r')).reject { |k,v| v.inunstable != now }
-rescue
-  pts = {}
+# parse debian-installer packages
+pkg = nil
+dipkgs = []
+`zcat /org/ftp.debian.org/ftp/dists/unstable/main/debian-installer/binary-i386/Packages.gz`.each_line do |l|
+  if l =~ /^Package: /
+    if pkg != nil
+      dipkgs << pkg
+    end
+    pkg = l.split(' ')[1].chomp
+  elsif l =~ /^Source: /
+    dipkgs << l.split(' ')[1].chomp
+    pkg = nil
+  end
 end
 
+# parse testing status
+require 'date'
+now = Date::today
+file = Dir::glob('../testing-status/data.*').sort[-1]
+pts = PkgTestingStatus::read(File::new(file,'r')).reject { |k,v| v.inunstable != now }
+
 # parse buglist
 pkgs = IO::read('buglist').match(/<pre>(.*)<\/pre>/m)[1].split(/\n\n/)
 bugs = Hash::new { [] }
@@ -38,7 +51,6 @@
     elsif l =~ /^<span class="comment">/
       # do nothing
     else 
-      p l
       b = l.match(/ name="([^"]*)">/)[1]
       if EXC_BUGS.include?(b)
         puts "Skipping #{b}, it is excluded."
@@ -65,9 +77,9 @@
 f = IO::read("ddpo_packages")
 f.each_line do |l|
   next if l =~ /^\)/
-    pkg = l.match(/^([^\(]*)\(/)[1]
-                     vers = l.match(/\[([^\]]*)\]/)[1].split(/,/)
-                     pkgs[pkg] = vers
+  pkg = l.match(/^([^\(]*)\(/)[1]
+  vers = l.match(/\[([^\]]*)\]/)[1].split(/,/)
+  pkgs[pkg] = vers
 end
 
 # Parse ddpo_maintainers
@@ -130,11 +142,19 @@
   if pts[p]
     ok, days = pts[p].testing_ok?(LAST_IN_TESTING)
     if not ok
-      pissues << [:not_testing, days ]
+      if dipkgs.include?(p)
+        puts "Ignoring the fact that #{p} is not in testing (contains udebs)"
+      else
+        pissues << [:not_testing, days ]
+      end
     end
     ok, days = pts[p].sync_ok?(LAST_IN_SYNC)
     if not ok
-      pissues << [:no_migration, days ]
+      if dipkgs.include?(p)
+        puts "Ignoring the fact that #{p} is not migrating to testing (contains udebs)"
+      else
+        pissues << [:no_migration, days ]
+      end
     end
   end
   issues[p] = pissues unless pissues.empty?




More information about the Collab-qa-commits mailing list