diff options
author | Holger Levsen <holger@layer-acht.org> | 2015-05-17 15:31:08 +0200 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2015-05-17 15:31:08 +0200 |
commit | 0c7f0fca338e9147cc033b5720d48d12cf0aa2f8 (patch) | |
tree | e18b8b432101037b4d34a573bb72a756da135298 /bin | |
parent | 41f121db19e794f4180239d02b5db8ff19a119f7 (diff) | |
download | jenkins.debian.net-0c7f0fca338e9147cc033b5720d48d12cf0aa2f8.tar.xz |
reproducible: include filtered ftbfs issues in the .json output
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/reproducible_common.py | 11 | ||||
-rwxr-xr-x | bin/reproducible_html_indexes.py | 11 | ||||
-rwxr-xr-x | bin/reproducible_json.py | 5 |
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))) |