summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Keating <jkeating at redhat dot com>2007-08-20 15:09:42 -0400
committerJesse Keating <jkeating at redhat dot com>2007-08-20 15:09:42 -0400
commit1ef23c0cbe462626c27d053987305f9372778c0b (patch)
treeaf4d61a62c7f81491b79af844be780d8d13361f6
parentb076a6e81ed69d95cd248aff54432e4589788456 (diff)
downloadreleng-1ef23c0cbe462626c27d053987305f9372778c0b.tar.gz
releng-1ef23c0cbe462626c27d053987305f9372778c0b.tar.xz
releng-1ef23c0cbe462626c27d053987305f9372778c0b.zip
Add a script I've been playing with to find bad builds
-rwxr-xr-xscripts/find-bad-builds.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/find-bad-builds.py b/scripts/find-bad-builds.py
new file mode 100755
index 0000000..cd47002
--- /dev/null
+++ b/scripts/find-bad-builds.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+
+# template for finding builds that meet some time/buildroot component critera.
+# Edit to suit.
+
+import koji
+
+kojisession = koji.ClientSession('http://koji.fedoraproject.org/kojihub')
+potentials = []
+tocheck = []
+needbuild = []
+reallyneedbuild = []
+
+f8builds = kojisession.listTagged('dist-f8', inherit=True, latest=True)
+
+for build in f8builds:
+ if build['creation_time'] > '2007-06-12 04:01:15.000000':
+ potentials.append(build)
+
+for build in potentials:
+ if build['creation_time'] < '2007-07-31 02:10:19.000000':
+ tocheck.append(build)
+
+for build in tocheck:
+ for task in kojisession.getTaskChildren(build['task_id']):
+ if build in needbuild:
+ continue
+ if task['method'] == 'buildArch':
+ for rootid in kojisession.listBuildroots(taskID=task['id']):
+ for pkg in kojisession.listRPMs(componentBuildrootID=rootid['id']):
+ if pkg['name'] == 'binutils':
+ if pkg['version'] == '2.17.50.0.16':
+ if not build in needbuild:
+ needbuild.append(build)
+ elif pkg['version'] == '2.17.50.0.17' and pkg['release'] < '7':
+ if not build in needbuild:
+ needbuild.append(build)
+ else:
+ print "%s had binutils, but it was %s" % (build['nvr'], pkg['nvr'])
+
+rebuildnames = []
+for build in needbuild:
+ for rpm in kojisession.listBuildRPMs(build['nvr']):
+ if rpm['arch'] == 'ppc':
+ if not build in reallyneedbuild:
+ reallyneedbuild.append(build)
+ rebuildnames.append(build['name'])
+
+rebuildnames.sort()
+for build in rebuildnames:
+ print build