summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO1
-rwxr-xr-xbin/reproducible_common.sh4
-rwxr-xr-xbin/reproducible_create_meta_pkg_sets.sh3
-rwxr-xr-xbin/reproducible_db_maintenance.py21
-rwxr-xr-xbin/reproducible_html_dashboard.sh33
-rwxr-xr-xbin/reproducible_html_pkg_sets.sh17
6 files changed, 52 insertions, 27 deletions
diff --git a/TODO b/TODO
index 8cc6364e..1218c733 100644
--- a/TODO
+++ b/TODO
@@ -160,7 +160,6 @@ The plan is to run a jenkins.d.o host, which is maintained by DSA, but we are ma
** improve ftbfs page: list packages without bugs and notes first
** mattia: .py scripts: UDD or any db connection errors should either be retried or cause an abort (not failure!) of the job
** repo-comparison: check for binaries without source
-** pkg sets are still amd64 only atm… (and there is 404 link to the armhf page)
** bin/_html_indexes.py: bugs = get_bugs() # this variable should not be global, else merely importing _html_indexes always queries UDD
** re-enable linux-2.6 usage once 806911 has been fixed
diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index 0872dd73..23a1eb9d 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -234,8 +234,8 @@ write_page_header() {
# no pkg_sets are tested in experimental
continue
fi
- if [ "$TARGET" = "pkg_sets" ] && [ "$ARCH" = "armhf" ] ; then
- # no pkg_sets for armhf _yet_
+ if [ "$TARGET" = "pkg_sets" ] && [ "$ARCH" = "armhf" ] && [ "$SUITE" = "testing" ] ; then
+ # testing/armhf is not being tested yet _yet_ (so I think this is never met…)
continue
fi
SPOKEN_TARGET=${SPOKENTARGET[$TARGET]}
diff --git a/bin/reproducible_create_meta_pkg_sets.sh b/bin/reproducible_create_meta_pkg_sets.sh
index 58e42019..6aba06d7 100755
--- a/bin/reproducible_create_meta_pkg_sets.sh
+++ b/bin/reproducible_create_meta_pkg_sets.sh
@@ -10,6 +10,9 @@ common_init "$@"
# common code defining db access
. /srv/jenkins/bin/reproducible_common.sh
+# we only generate the meta pkg sets on amd64
+# (else this script would need a lot of changes for little gain)
+# but these are source package sets so there is a difference only very rarely anyway
ARCH=amd64
# everything should be ok…
diff --git a/bin/reproducible_db_maintenance.py b/bin/reproducible_db_maintenance.py
index fd9a49f8..61fb92f7 100755
--- a/bin/reproducible_db_maintenance.py
+++ b/bin/reproducible_db_maintenance.py
@@ -550,6 +550,27 @@ schema_updates = {
'ALTER TABLE schedule ADD COLUMN message TEXT',
'ALTER TABLE stats_build ADD COLUMN schedule_message TEXT NOT NULL DEFAULT ""',
'INSERT INTO rb_schema VALUES ("26", "' + now + '")'],
+ 27: [ # add column architecture to stats_meta_pkg_state and set previous values to amd64
+ 'ALTER TABLE stats_meta_pkg_state ADD COLUMN architecture TEXT NOT NULL DEFAULT "amd64"',
+ 'INSERT INTO rb_schema VALUES ("27", "' + now + '")'],
+ 28: [ # use (datum, suite, architecture, meta_pkg) as primary key for stats_meta_pkg_state
+ '''CREATE TABLE stats_meta_pkg_state_tmp
+ (datum TEXT NOT NULL,
+ suite TEXT NOT NULL,
+ architecture TEXT NOT NULL,
+ meta_pkg TEXT NOT NULL,
+ reproducible INTEGER,
+ unreproducible INTEGER,
+ FTBFS INTEGER,
+ other INTEGER,
+ PRIMARY KEY (datum, suite, architecture, meta_pkg))''',
+ '''INSERT INTO stats_meta_pkg_state_tmp (datum, suite, architecture, meta_pkg,
+ reproducible, unreproducible, FTBFS, other)
+ SELECT datum, suite, architecture, meta_pkg, reproducible, unreproducible,
+ FTBFS, other FROM stats_meta_pkg_state;''',
+ '''DROP TABLE stats_meta_pkg_state;''',
+ '''ALTER TABLE stats_meta_pkg_state_tmp RENAME TO stats_meta_pkg_state;''',
+ 'INSERT INTO rb_schema VALUES ("28", "' + now + '")'],
}
diff --git a/bin/reproducible_html_dashboard.sh b/bin/reproducible_html_dashboard.sh
index d2ae676a..39d3968c 100755
--- a/bin/reproducible_html_dashboard.sh
+++ b/bin/reproducible_html_dashboard.sh
@@ -412,6 +412,17 @@ create_suite_arch_stats_page() {
publish_page $SUITE
}
+write_meta_pkg_graphs_links () {
+ local SUITE=unstable # ARCH is taken from global namespace
+ write_page "<p style=\"clear:both;\"><center>"
+ for i in $(seq 1 ${#META_PKGSET[@]}) ; do
+ THUMB=${TABLE[6]}_${META_PKGSET[$i]}-thumbnail.png
+ LABEL="Reproducibility status for packages in $SUITE/$ARCH from '${META_PKGSET[$i]}'"
+ write_page "<a href=\"/$SUITE/$ARCH/pkg_set_${META_PKGSET[$i]}.html\"><img src=\"/$SUITE/$ARCH/$THUMB\" class=\"metaoverview\" alt=\"$LABEL\"></a>"
+ done
+ write_page "</center></p>"
+}
+
#
# create dashboard page
#
@@ -425,23 +436,10 @@ create_dashboard_page() {
for SUITE in $SUITES ; do
write_page " <a href=\"/$SUITE\"><img src=\"/$SUITE/$ARCH/${TABLE[0]}.png\" class=\"overview\" alt=\"$SUITE/$ARCH stats\"></a>"
done
- write_page "</p><p style=\"clear:both;\">"
- write_page "<center>"
- # write meta pkg graphs per suite
- for SUITE in $SUITES ; do
- if [ "$SUITE" != "unstable" ] ; then
- # only show pkg sets from unstable
- continue
- fi
- for i in $(seq 1 ${#META_PKGSET[@]}) ; do
- THUMB=${TABLE[6]}_${META_PKGSET[$i]}-thumbnail.png
- LABEL="Reproducibility status for packages in $SUITE/$ARCH from '${META_PKGSET[$i]}'"
- write_page "<a href=\"/$SUITE/$ARCH/pkg_set_${META_PKGSET[$i]}.html\"><img src=\"/$SUITE/$ARCH/$THUMB\" class=\"metaoverview\" alt=\"$LABEL\"></a>"
- done
- done
- write_page "</center></p><p>"
+ write_page "</p>"
+ write_meta_pkg_graphs_links
# write inventory table
- write_page "<table class=\"main\"><tr><th colspan=\"2\">Various reproducibility statistics</th></tr>"
+ write_page "<p><table class=\"main\"><tr><th colspan=\"2\">Various reproducibility statistics</th></tr>"
write_page "<tr><td>identified <a href=\"/index_issues.html\">distinct and categorized issues</a></td><td>$ISSUES</td></tr>"
write_page "<tr><td>total number of identified issues in packages</td><td>$COUNT_ISSUES</td></tr>"
write_page "<tr><td>packages with notes about these issues</td><td>$NOTES</td></tr>"
@@ -495,9 +493,12 @@ create_dashboard_page() {
ARCH="armhf"
write_page "</p><p style=\"clear:both;\">"
write_suite_table
+ # write suite graphs
for SUITE in unstable experimental ; do
write_page " <a href=\"/$SUITE/$ARCH\"><img src=\"/$SUITE/$ARCH/${TABLE[0]}.png\" class=\"overview\" alt=\"$SUITE/$ARCH stats\"></a>"
done
+ write_page "</p>"
+ write_meta_pkg_graphs_links
# write performance stats and build per day graphs
write_page "<p style=\"clear:both;\">"
write_build_performance_stats
diff --git a/bin/reproducible_html_pkg_sets.sh b/bin/reproducible_html_pkg_sets.sh
index f861808f..dc7d294c 100755
--- a/bin/reproducible_html_pkg_sets.sh
+++ b/bin/reproducible_html_pkg_sets.sh
@@ -14,7 +14,6 @@ common_init "$@"
#
# init some variables
#
-ARCH="amd64" # we only care about amd64 status here (for now)
# we only do stats up until yesterday... we also could do today too but not update the db yet...
DATE=$(date -d "1 day ago" '+%Y-%m-%d')
FORCE_DATE=$(date -d "3 days ago" '+%Y-%m-%d')
@@ -184,12 +183,14 @@ create_pkg_sets_pages() {
#
# main
#
-for SUITE in $SUITES ; do
- if [ "$SUITE" = "experimental" ] ; then
- # no pkg sets in experimental
- continue
- fi
- update_meta_pkg_stats
- create_pkg_sets_pages
+for ARCH in $ARCHS ; do
+ for SUITE in $SUITES ; do
+ if [ "$SUITE" = "experimental" ] || ( [ "$SUITE" = "testing" ] && [ "$ARCH" = "armhf" ] ) ; then
+ # no pkg sets in experimental and not yet for testing on armhf
+ continue
+ fi
+ update_meta_pkg_stats
+ create_pkg_sets_pages
+ done
done