summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/reproducible_common.py1
-rwxr-xr-xbin/reproducible_common.sh2
-rwxr-xr-xbin/reproducible_html_notes.py26
3 files changed, 28 insertions, 1 deletions
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index c81de947..e7d15394 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -149,6 +149,7 @@ html_head_page = Template((tab*2).join("""
</li>
<li><a href="/index_issues.html">issues</a></li>
<li><a href="/index_notes.html">packages with notes</a></li>
+ <li><a href="/index_no_notes.html">package without notes</a></li>
<li><a href="/index_scheduled.html">currently scheduled</a></li>
<li><a href="/index_last_24h.html">packages tested in the last 24h</a></li>
<li><a href="/index_last_48h.html">packages tested in the last 48h</a></li>
diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index 0609ed47..54234849 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -159,7 +159,7 @@ init_html() {
SUITE=sid
MAINVIEW="stats"
ALLSTATES="reproducible FTBR FTBFS 404 not_for_us blacklisted"
- ALLVIEWS="issues notes scheduled last_24h last_48h all_abc dd-list stats pkg_sets"
+ ALLVIEWS="issues notes no_notes scheduled last_24h last_48h all_abc dd-list stats pkg_sets"
SPOKENTARGET["reproducible"]="packages which built reproducibly"
SPOKENTARGET["FTBR"]="packages which failed to build reproducibly"
SPOKENTARGET["FTBFS"]="packages which failed to build from source"
diff --git a/bin/reproducible_html_notes.py b/bin/reproducible_html_notes.py
index b75b0850..eda8d0eb 100755
--- a/bin/reproducible_html_notes.py
+++ b/bin/reproducible_html_notes.py
@@ -373,6 +373,31 @@ def index_notes(notes, bugs):
log.info('Notes index now available at ' + desturl)
+def index_no_notes(notes, bugs):
+ log.debug('Building the index_no_notes page...')
+ all_pkgs = query_db('SELECT name FROM source_packages ' +
+ 'WHERE status = "unreproducible" OR status = "FTBFS"')
+ without_notes = [x[0] for x in all_pkgs if x[0] not in notes]
+ html = '\n<p>There are ' + str(len(without_notes)) + ' unreproducible ' \
+ + 'packages without notes.<br />This are package that nobody has ' \
+ + 'has even looked at yet.</p>\n'
+ html += '<p>\n' + tab + '<code>\n'
+ html = (tab*2).join(html.splitlines(True))
+ for pkg in sorted(without_notes):
+ url = RB_PKG_URI + '/' + pkg + '.html'
+ html += tab*4 + '<a href="' + url + '">' + pkg + '</a>'
+ html += get_trailing_icon(pkg, bugs) + '\n'
+ html += tab*3 + '</code>\n'
+ html += tab*2 + '</p>\n'
+ html += tab*2 + '<p>Notes are stored in <a href="https://anonscm.debian.org/cgit/reproducible/notes.git" target="_parent">notes.git</a>.</p>'
+ title = 'Overview of packages without notes'
+ destfile = BASE + '/index_no_notes.html'
+ desturl = REPRODUCIBLE_URL + '/index_no_notes.html'
+ write_html_page(title=title, body=html, destfile=destfile,
+ style_note=True)
+ log.info('Packages without notes index now available at ' + desturl)
+
+
if __name__ == '__main__':
issues_count = {}
bugs = get_bugs()
@@ -382,5 +407,6 @@ if __name__ == '__main__':
iterate_over_issues(issues)
index_issues(issues)
index_notes(notes, bugs)
+ index_no_notes(notes, bugs)
purge_old_notes(notes)
process_packages(notes) # regenerate all rb-pkg/ pages