[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible armhf: enable package sets

Holger Levsen holger at moszumanska.debian.org
Sun Dec 20 17:34:30 UTC 2015


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit 16b8750afdb9275f645e361fea85a5405568fdb2
Author: Holger Levsen <holger at layer-acht.org>
Date:   Sun Dec 20 18:34:03 2015 +0100

    reproducible armhf: enable package sets
---
 TODO                                     |  1 -
 bin/reproducible_common.sh               |  4 ++--
 bin/reproducible_create_meta_pkg_sets.sh |  3 +++
 bin/reproducible_db_maintenance.py       | 21 ++++++++++++++++++++
 bin/reproducible_html_dashboard.sh       | 33 ++++++++++++++++----------------
 bin/reproducible_html_pkg_sets.sh        | 17 ++++++++--------
 6 files changed, 52 insertions(+), 27 deletions(-)

diff --git a/TODO b/TODO
index 8cc6364..1218c73 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 0872dd7..23a1eb9 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 58e4201..6aba06d 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 fd9a49f..61fb92f 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 d2ae676..39d3968 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 f861808..dc7d294 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
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list