[Collab-qa-commits] r914 - in collab-qa-tools: bin lib/collab-qa
lucas at alioth.debian.org
lucas at alioth.debian.org
Sat Jul 12 09:47:48 UTC 2008
Author: lucas
Date: 2008-07-12 09:47:47 +0000 (Sat, 12 Jul 2008)
New Revision: 914
Added:
collab-qa-tools/bin/cqa-diff-usertags
collab-qa-tools/bin/cqa-importbugnumbers
Modified:
collab-qa-tools/bin/cqa-fetchbugs
collab-qa-tools/bin/cqa-rb
collab-qa-tools/lib/collab-qa/log-parser.rb
Log:
cqa-tools update
Added: collab-qa-tools/bin/cqa-diff-usertags
===================================================================
--- collab-qa-tools/bin/cqa-diff-usertags (rev 0)
+++ collab-qa-tools/bin/cqa-diff-usertags 2008-07-12 09:47:47 UTC (rev 914)
@@ -0,0 +1,65 @@
+#! /usr/bin/ruby1.8 -w
+require 'soap/rpc/driver'
+require 'pp'
+bts = SOAP::RPC::Driver::new('http://bugs.debian.org/cgi-bin/soap.cgi', '/Debbugs/SOAP')
+bts.add_method('get_status', 'bugs')
+bts.add_method('get_bugs', 'params')
+bts.add_method('get_bug_log', 'params')
+bts.add_method('get_usertag', 'email', 'tag')
+bts.add_method('newest_bugs', 'num')
+
+# E: not serious: 470440 sbuild (important) sbuild doesn't cope with Checksums-Sha1 and Checksums-Sha256 headers
+# E: not serious: 395271 sbuild (important) sbuild: incorrectly handles versioned provides
+# E: not serious: 474902 gnumach (important) gnumach: FTBFS: bad_user_access_length
+# E: not serious: 473951 gtk-doc (important) gtk-doc: FTBFS: Unsatisfiable build-dependency: openjade(still installed)
+# E: not serious: 395260 sablevm (important) sablevm: cannot create VM when run into a i386 chroot on a AMD64 system.
+# E: not serious: 458879 debian-edu-doc (important) FTBFS in sid, builds fine in etch
+# E: not serious: 441159 9base (important) FTBFS in i386 chroot on amd64
+# E: not serious: 474894 newlib (normal) newlib: FTBFS: Nonexistent build-dependency: binutils-spu [package only for ppc/ppc64]
+# E: not serious: 470337 python-axiom (important) python-axiom: FTBFS: failed tests
+# E: not serious: 422609 swish-e (important) don't mess with other packages namespaces
+NOT_SERIOUS = [ 470440, 395271, 474902, 473951, 395260, 458879, 441159, 474894, 470337, 422609 ]
+
+# E: only in first set: 474888 gnat-4.3 gnat-4.3: FTBFS: Bootstrap comparison failure!
+# E: only in first set: 471614 gnat-4.1 gnat-4.1: FTBFS: b~gnatfind.adb:(.text+0x225): undefined reference to `xr_tabls___elabs'
+# E: only in first set: 458634 glib2.0 glib2.0: FTBFS: undefined reference to `g_type_module_register_type'
+# E: only in first set: 489112 mailutils mailutils: FTBFS: ERROR: Cannot create /build/user-mailutils_1.2+dfsg1-1-amd64-g60eu0/mailutils-1.2+dfsg1-1 /imap4d/testsuite/data/spool/INBOX:
+# E: only in first set: 490324 xulrunner-1.9 xulrunner: FTBFS: build blocks
+# E: only in first set: 490329 setools setools: FTBFS: dpkg-gencontrol: failure: install new files list file: No such file or directory
+# E: only in first set: 465635 latex-cjk-chinese-arphic latex-cjk-chinese-arphic: FTBFS: debhelper errors
+# E: only in first set: 483352 liboil liboil: FTBFS: FAIL: stride
+RANDOM_FAIL = [ 474888, 471614, 458634, 489112, 490324, 490329, 465635, 483352]
+
+IGNORE_DONE = true
+bugs1 = bts.get_usertag(ARGV[0], ARGV[1])
+bs1 = bts.get_status(bugs1[ARGV[1]].sort.uniq)
+
+bs1.delete_if { |k, v| v.pending == "done" } if IGNORE_DONE
+
+bugs2 = bts.get_usertag(ARGV[2], ARGV[3])
+bs2 = bts.get_status(bugs2[ARGV[3]].sort.uniq)
+
+pkgs = []
+bs2.each_pair do |k,v|
+ if v.pending == 'done'
+ modif = Time::at(v.log_modified.to_i)
+ if Time::now - modif < 86400*2
+ modif = " [MODIFIED: #{modif}]"
+ else
+ modif = ""
+ end
+ puts "E: marked as done#{modif}: #{k} #{v.package} #{v.subject}"
+ end
+ if not ['serious','grave','critical'].include?(v.severity) and not NOT_SERIOUS.include?(k.to_i)
+ puts "E: not serious: #{k} #{v.package} (#{v.severity}) #{v.subject}"
+ end
+ pkgs << v.package
+end
+
+bs2.delete_if { |k, v| v.pending == "done" } if IGNORE_DONE
+
+(bs1.keys - bs2.keys).each do |b|
+ next if pkgs.include?(bs1[b].package) # another bug from the same package is tagged, possibly hiding this one.
+ next if RANDOM_FAIL.include?(b) # random failure, skipping anyway
+ puts "E: only in first set: #{b} #{bs1[b].package} #{bs1[b].subject}"
+end
Property changes on: collab-qa-tools/bin/cqa-diff-usertags
___________________________________________________________________
Name: svn:executable
+ *
Modified: collab-qa-tools/bin/cqa-fetchbugs
===================================================================
--- collab-qa-tools/bin/cqa-fetchbugs 2008-07-12 09:47:27 UTC (rev 913)
+++ collab-qa-tools/bin/cqa-fetchbugs 2008-07-12 09:47:47 UTC (rev 914)
@@ -45,7 +45,7 @@
n = 0
files.sort.each do |l|
- puts "#{l}... (#{n}/#{files.length})"
+ puts "#{l}... (#{n+1}/#{files.length})"
log = CollabQA::Log::new(l)
pkg = log.package
n += 1
@@ -55,7 +55,7 @@
f = File::new(".bugs.#{pkg}", 'w')
if bugs.length > 0
status.each_pair do |k,v|
- next if v.subject !~ /ftbfs/i and v.subject !~ /piuparts/i and v.subject != /installation/i and v.subject != /(post|pre)(rm|inst)/i
+ next if v.subject !~ /ftbfs/i and v.subject !~ /piuparts/i and v.subject !~ /installation/i and v.subject !~ /(post|pre)(rm|inst)/i and v.subject !~ /buil(d|t)/i
f.puts "#{k} #{v.severity} #{v.subject} || #{v.done}"
end
end
Added: collab-qa-tools/bin/cqa-importbugnumbers
===================================================================
--- collab-qa-tools/bin/cqa-importbugnumbers (rev 0)
+++ collab-qa-tools/bin/cqa-importbugnumbers 2008-07-12 09:47:47 UTC (rev 914)
@@ -0,0 +1,58 @@
+#! /usr/bin/ruby1.8 -w
+# ruby ../../tools/bugs2packagelist/fetchbugs.rb user usertag < list > newlist 2>log
+# ruby ../../tools/bugs2packagelist/fetchbugs.rb debian-qa at lists.debian.org qa-ftbfs-20071007 < failed.2007-10-07.txt > failed.2007-10-07.txt.2 2>log
+require 'soap/rpc/driver'
+bts = SOAP::RPC::Driver::new('http://bugs.debian.org/cgi-bin/soap.cgi', '/Debbugs/SOAP')
+bts.add_method('get_status', 'bugs')
+bts.add_method('get_bugs', 'params')
+bts.add_method('get_bug_log', 'params')
+bts.add_method('get_usertag', 'email', 'tag')
+bts.add_method('newest_bugs', 'num')
+
+bugs = bts.get_usertag(ARGV[0], ARGV[1])
+pkgs = Hash::new([])
+bts.get_status(bugs[ARGV[1]].sort.uniq).each_pair do |k, v|
+ pkgs[v.package] = [] if pkgs[v.package] == [] # force reinit
+ pkgs[v.package] << [k, v.subject]
+end
+
+STDIN.each_line do |l|
+ p, rest = l.split(' ', 2)
+ matches = rest.scan(/((#\d+|NNN).*)/)
+ m = matches[0]
+ if matches[0].nil?
+ STDERR.puts "NOTHING ON LINE: #{l}"
+ else
+ m = m[0]
+ m.gsub!(/\s+RECHECK.*/,'')
+ if m =~ /^NNN/
+ if pkgs[p].length == 1
+ txt = "##{pkgs[p][0][0]}: #{pkgs[p][0][1]}"
+ rest.gsub!(m, txt)
+ elsif pkgs[p].length > 1
+ STDERR.puts "SEVERAL BUGS: #{l}"
+ pkgs[p].each do |b|
+ STDERR.puts " - ##{b[0]}: #{b[1]}"
+ end
+ else
+ STDERR.puts "NO BUG FOUND: #{l}"
+ end
+ else # it's a bug number.
+ numb = m.gsub(/^#(\d+).*/,'\1').to_i
+ changed = false
+ pkgs[p].each do |b|
+ next if b[0] != numb
+ txt = "##{b[0]}: #{b[1]}"
+ rest.gsub!(m, txt)
+ changed = true
+ end
+ if !changed
+ STDERR.puts "NO MATCHING BUG: #{l}"
+ pkgs[p].each do |b|
+ STDERR.puts " - ##{b[0]}: #{b[1]}"
+ end
+ end
+ end
+ end
+ puts "#{p} #{rest}"
+end
Modified: collab-qa-tools/bin/cqa-rb
===================================================================
--- collab-qa-tools/bin/cqa-rb 2008-07-12 09:47:27 UTC (rev 913)
+++ collab-qa-tools/bin/cqa-rb 2008-07-12 09:47:47 UTC (rev 914)
@@ -53,3 +53,15 @@
cmd = "/usr/bin/mutt -e 'set autoedit' -H .mail.#{log.package}"
system(cmd)
+
+if ENV['TODOFILE']
+ puts "edit TODOFILE?"
+ STDIN.getc
+ todo = IO::read(ENV['TODOFILE'])
+ todo.gsub!(/^#{log.package} (.*) TODO.*$/, "#{log.package} \\1 NNN")
+ File::open(ENV['TODOFILE'], "w") do |f|
+ f.print todo
+ end
+end
+
+
Modified: collab-qa-tools/lib/collab-qa/log-parser.rb
===================================================================
--- collab-qa-tools/lib/collab-qa/log-parser.rb 2008-07-12 09:47:27 UTC (rev 913)
+++ collab-qa-tools/lib/collab-qa/log-parser.rb 2008-07-12 09:47:47 UTC (rev 914)
@@ -159,7 +159,7 @@
ih -= 1
end
beg_ml = ih
- while @lines[ih - 1] !~ /^\s*(\/(\w+\/)*)?(\w+-linux-gnu-)?(ld|gcc|xgcc|cc|g\+\+|c\+\+|nasm|g77|sh .*libtool)/
+ while (@lines[ih - 1] !~ /^\s*(\/(\w+\/)*)?(\w+-linux-gnu-)?(ld|gcc|xgcc|cc|g\+\+|c\+\+|nasm|g77|sh .*libtool)/) and ih > 1
ih -= 1
end
beg_full = ih - 1
@@ -307,7 +307,8 @@
/configure: error: can only configure for one host and one target at a time/,
/configure: error: C compiler cannot create executables/,
/dh_install: \w+ missing files /,
- /dpkg-source: unrepresentable changes to source/
+ /dpkg-source: unrepresentable changes to source/,
+ /ERROR: The following new or changed copyright notices discovered:/
]
@@ -459,15 +460,6 @@
During a rebuild of all packages in sid, your package failed to build on
i386.
-This rebuild was done with gcc 4.3 instead of gcc 4.2, because gcc 4.3
-is now the default on most architectures (even if it's not the case on
-i386 yet). Consequently, many failures are caused by the switch to gcc
-4.3.
-If you determine that this failure is caused by gcc 4.3, feel free to
-downgrade this bug to 'important' if your package is only built on i386,
-and this bug is specific to gcc 4.3 (i.e the package builds fine with
-gcc 4.2).
-
Relevant part:
> #{@extract.join("\n> ")}
More information about the Collab-qa-commits
mailing list