summaryrefslogtreecommitdiffstats
path: root/bin/reproducible_breakages.py
diff options
context:
space:
mode:
authorMattia Rizzolo <mattia@mapreri.org>2015-05-20 02:39:03 +0200
committerHolger Levsen <holger@layer-acht.org>2015-05-20 08:58:02 +0200
commitd1f6ef1a704c11d2a7f0d74ae9895b61b1bbc314 (patch)
tree4358a5dfdcbaa61d8d0ce2f60ba33f4622772cf2 /bin/reproducible_breakages.py
parentcfb42ca5bfda4ef97b48ad7919939aded83e0c6b (diff)
downloadjenkins.debian.net-d1f6ef1a704c11d2a7f0d74ae9895b61b1bbc314.tar.xz
reproducible: breakages: add a lack_buildinfo check
Diffstat (limited to 'bin/reproducible_breakages.py')
-rwxr-xr-xbin/reproducible_breakages.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/bin/reproducible_breakages.py b/bin/reproducible_breakages.py
index 5ea2261f..444d9ea5 100755
--- a/bin/reproducible_breakages.py
+++ b/bin/reproducible_breakages.py
@@ -85,6 +85,25 @@ def lack_rbuild():
return bad_pkgs
+def lack_buildinfo():
+ log.info('running lack_buildinfo check...')
+ bad_pkgs = []
+ query = '''SELECT s.name, r.version, s.suite, s.architecture
+ FROM sources AS s JOIN results AS r ON r.package_id=s.id
+ WHERE r.status NOT IN ("blacklisted", "not for us", "FTBFS", "")
+ ORDER BY s.name ASC, s.suite DESC'''
+ results = query_db(query)
+ for pkg, version, suite, arch in results:
+ eversion = strip_epoch(version)
+ buildinfo = BUILDINFO_PATH + '/' + suite + '/' + arch + '/' + pkg + \
+ '_' + eversion + '_' + arch + '.buildinfo'
+ if not os.access(buildinfo, os.R_OK):
+ bad_pkgs.append((pkg, version, suite, arch))
+ log.warning(pkg + '/' + suite + ' (' + version + ') has been '
+ 'successfully built, but a .buildinfo is missing')
+ return bad_pkgs
+
+
def pbuilder_dep_fail():
log.info('running pbuilder_dep_fail check...')
bad_pkgs = []
@@ -226,9 +245,11 @@ def gen_html():
# debbindiff report where it shouldn't be
html += _gen_section('are not marked as unreproducible, but they ' +
'have a debbindiff file:', not_unrep_with_dbd_file())
- # missing buildlog
+ # missing files
html += _gen_section('are built but don\'t have a buildlog:',
lack_rbuild())
+ html += _gen_section('are built but don\'t have a .buildinfo file:',
+ lack_buildinfo())
# pbuilder-satisfydepends failed
html += _gen_section('failed to match their build-dependencies:',
pbuilder_dep_fail())