/usr/bin/cqa-check-bugs is in collab-qa-tools 0.2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/usr/bin/ruby
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
# E: not serious: 534089 libcomplearn-mod-ppmd (important) libcomplearn-mod-ppmd: FTBFS: Nonexistent build-dependency: ppmd
NOT_SERIOUS = [ 470440, 395271, 474902, 473951, 395260, 458879, 441159, 474894, 470337, 422609, 505307, 534058, 534063, 534059, 534089 ]
# 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
bugs = {}
IO::readlines(ARGV[0]).each do |l|
pkg, r = l.split(' ', 2)
b = r.scan(/#\d+/)[0]
next if b.nil?
b = b.gsub(/#/, '').to_i
bugs[b] = pkg
end
bs1 = bts.get_status(bugs.keys.sort.uniq)
bs1.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
if v.package != "src:#{bugs[k]}" and v.package != bugs[k]
puts "E: different package: #{k} #{v.package} != #{bugs[k]}"
end
end
|