[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