summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-05-17 15:31:08 +0200
committerHolger Levsen <holger@layer-acht.org>2015-05-17 15:31:08 +0200
commit0c7f0fca338e9147cc033b5720d48d12cf0aa2f8 (patch)
treee18b8b432101037b4d34a573bb72a756da135298
parent41f121db19e794f4180239d02b5db8ff19a119f7 (diff)
downloadjenkins.debian.net-0c7f0fca338e9147cc033b5720d48d12cf0aa2f8.tar.xz
reproducible: include filtered ftbfs issues in the .json output
-rwxr-xr-xbin/reproducible_common.py11
-rwxr-xr-xbin/reproducible_html_indexes.py11
-rwxr-xr-xbin/reproducible_json.py5
3 files changed, 15 insertions, 12 deletions
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index b937d72f..a416d287 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -179,6 +179,17 @@ html_foot_page_style_note = Template((tab*2).join("""
url2html = re.compile(r'((mailto\:|((ht|f)tps?)\://|file\:///){1}\S+)')
+# filter used on the index_FTBFS pages and for the reproducible.json
+filtered_issues = ('timestamps_from_cpp_macros' , 'ftbfs_werror_equals', 'bad_handling_of_extra_warnings', 'ftbfs_pbuilder_malformed_dsc', 'ftbfs_in_jenkins_setup', 'ftbfs_build_depends_not_available_on_amd64' )
+filter_query = ''
+for issue in filtered_issues:
+ if filter_query == '':
+ filter_query = 'n.issues LIKE "%' + issue + '%"'
+ filter_html = '<a href="' + REPRODUCIBLE_URL + ISSUES_URI + '/$suite/' + issue + '_issue.html">' + issue + '</a>'
+ else:
+ filter_query += ' OR n.issues LIKE "%' + issue + '%"'
+ filter_html += ' or <a href="' + REPRODUCIBLE_URL + ISSUES_URI + '/$suite/' + issue + '_issue.html">' + issue + '</a>'
+
def print_critical_message(msg):
print('\n\n\n')
diff --git a/bin/reproducible_html_indexes.py b/bin/reproducible_html_indexes.py
index 7a0cb16b..30991100 100755
--- a/bin/reproducible_html_indexes.py
+++ b/bin/reproducible_html_indexes.py
@@ -46,17 +46,6 @@ Technically speaking, a page can be empty (we all love nonsense) but every
section must have at least a `query` defining what to file in.
"""
-# filter used on the index_FTBFS pages
-filtered_issues = ('timestamps_from_cpp_macros' , 'ftbfs_werror_equals', 'bad_handling_of_extra_warnings', 'ftbfs_pbuilder_malformed_dsc', 'ftbfs_in_jenkins_setup', 'ftbfs_build_depends_not_available_on_amd64' )
-filter_query = ''
-for issue in filtered_issues:
- if filter_query == '':
- filter_query = 'n.issues LIKE "%' + issue + '%"'
- filter_html = '<a href="' + REPRODUCIBLE_URL + ISSUES_URI + '/$suite/' + issue + '_issue.html">' + issue + '</a>'
- else:
- filter_query += ' OR n.issues LIKE "%' + issue + '%"'
- filter_html += ' or <a href="' + REPRODUCIBLE_URL + ISSUES_URI + '/$suite/' + issue + '_issue.html">' + issue + '</a>'
-
queries = {
'count_total': 'SELECT COUNT(*) FROM results AS r JOIN sources AS s ON r.package_id=s.id WHERE s.suite="{suite}" AND s.architecture="{arch}"',
'reproducible_all': 'SELECT s.name FROM results AS r JOIN sources AS s ON r.package_id=s.id WHERE s.suite="{suite}" AND s.architecture="{arch}" AND r.status="reproducible" ORDER BY r.build_date DESC',
diff --git a/bin/reproducible_json.py b/bin/reproducible_json.py
index 89a1345c..d5d7aaf5 100755
--- a/bin/reproducible_json.py
+++ b/bin/reproducible_json.py
@@ -21,9 +21,12 @@ output = []
log.info('Creating json dump of current reproducible status')
+# filter_query is defined in reproducible_common.py and excludes some FTBFS issues
query = 'SELECT s.name, r.version, s.suite, s.architecture, r.status, r.build_date ' + \
'FROM results AS r JOIN sources AS s ON r.package_id = s.id '+ \
- 'WHERE status != "" AND status != "FTBFS"'
+ 'WHERE status != "" AND (( status != "FTBFS" ) OR ' \
+ ' ( status = "FTBFS" and r.package_id NOT IN (SELECT n.package_id FROM NOTES AS n WHERE ' + filter_query + ' )))'
+
result = sorted(query_db(query))
log.info('\tprocessing ' + str(len(result)))