[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