[Qa-jenkins-scm] [jenkins.debian.net] 01/02: reproducible: add a new status, "depwait", where package failing to install their build-deps ends to. This will clear FTBFS a few, and give a more easy filtering for some use cases

Holger Levsen holger at moszumanska.debian.org
Sat Aug 1 12:24:27 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 609d68de146dca473180486aee94fff0430c9560
Author: Mattia Rizzolo <mattia at mapreri.org>
Date:   Fri Jul 31 15:05:21 2015 +0000

    reproducible: add a new status, "depwait", where package failing to install their build-deps ends to. This will clear FTBFS a few, and give a more easy filtering for some use cases
---
 bin/reproducible_build.sh                        |  17 ++++++++++++
 bin/reproducible_common.py                       |   1 +
 bin/reproducible_html_indexes.py                 |  32 +++++++++++++++++++++++
 userContent/reproducible/static/weather-snow.png | Bin 0 -> 998 bytes
 4 files changed, 50 insertions(+)

diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 3941bfe..c1d30a0 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -195,6 +195,16 @@ handle_404() {
 	exit 0 # RBUILDLOG and SAVE_ARTIFACTS and NOTIFY are used in cleanup_all called at exit
 }
 
+handle_depwait() {
+	echo "Downloading the build dependencies failed" | tee -a "$RBUILDLOG"
+	echo "Maybe there was a network problem, or the build dependencies are currently uninstallable; consider filing a bug in the last case."
+	echo "Network problems are automatically retried after some hours."
+	calculate_build_duration
+	update_db_and_html "depwait"
+	if [ $SAVE_ARTIFACTS -eq 1 ] ; then SAVE_ARTIFACTS=0 ; fi
+	if [ -n "$NOTIFY" ] ; then NOTIFY="depwait" ; fi
+}
+
 handle_not_for_us() {
 	# a list of valid architecture for this package should be passed to this function
 	echo "Package ${SRCPACKAGE} (${VERSION}) shall only be build on \"$(echo "$@" | xargs echo )\" and thus was skipped." | tee -a ${RBUILDLOG}
@@ -207,7 +217,14 @@ handle_not_for_us() {
 }
 
 handle_ftbfs() {
+	local BUILD
 	echo "${SRCPACKAGE} failed to build from source."
+	for BUILD in "1" "2"; do
+		if zgrep -F "E: pbuilder-satisfydepends failed." "$BASE/logs/$SUITE/$ARCH/${SRCPACKAGE}_${EVERSION}.build${BUILD}.log.gz" ; then
+			handle_depwait
+			return
+		fi
+	done
 	calculate_build_duration
 	update_db_and_html "FTBFS"
 	if [ $SAVE_ARTIFACTS -eq 1 ] ; then SAVE_ARTIFACTS=0 ; fi
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index 99db486..a36c89f 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -397,6 +397,7 @@ def join_status_icon(status, package=None, version=None):
              'FTBFS': 'weather-storm.png',
              'FTBR' : 'weather-showers-scattered.png',
              '404': 'weather-severe-alert.png',
+             'depwait': 'weather-snow.png',
              'not for us': 'weather-few-clouds-night.png',
              'not_for_us': 'weather-few-clouds-night.png',
              'untested': 'weather-clear-night.png',
diff --git a/bin/reproducible_html_indexes.py b/bin/reproducible_html_indexes.py
index 070eb09..2409293 100755
--- a/bin/reproducible_html_indexes.py
+++ b/bin/reproducible_html_indexes.py
@@ -66,6 +66,8 @@ queries = {
     'FTBFS_caused_by_us': '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 = "FTBFS" AND r.package_id IN (SELECT n.package_id FROM NOTES AS n WHERE ' + filter_query + ' ) ORDER BY s.name',
     '404_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 status = "404" ORDER BY build_date DESC',
     '404_all_abc': '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 status = "404" ORDER BY name',
+    'depwait_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 status = "depwait" ORDER BY build_date DESC',
+    'depwait_all_abc': '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 status = "depwait" ORDER BY name',
     'not_for_us_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 status = "not for us" ORDER BY build_date DESC',
     'not_for_us_all_abc': '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 status = "not for us" ORDER BY name',
     'blacklisted_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 status = "blacklisted" ORDER BY name',
@@ -121,6 +123,16 @@ pages = {
             }
         ]
     },
+    'depwait': {
+        'title': 'Packages in {suite}/{arch} where the build dependencies failed to be satisfied',
+        'body': [
+            {
+                'icon_status': 'depwait',
+                'query': 'depwait_all',
+                'text': Template('$tot ($percent%) packages where the build dependencies failed to be satisfied. Note that temporary failures to due network problem are automatically rescheduled every 4 hours.')
+            }
+        ]
+    },
     'not_for_us': {
         'title': 'Packages in {suite}/{arch} which should not be build on "amd64"',
         'body': [
@@ -169,6 +181,12 @@ pages = {
                 'text': Template('$tot ($percent%) source packages could not be downloaded in $suite/$arch:')
             },
             {
+                'icon_status': 'depwait',
+                'icon_link': '/index_depwait.html',
+                'query': 'depwait_all_abc',
+                'text': Template('$tot ($percent%) source packages failed to satisfy their build-dependencies:')
+            },
+            {
                 'icon_status': 'blacklisted',
                 'icon_link': '/index_blacklisted.html',
                 'query': 'blacklisted_all',
@@ -269,6 +287,13 @@ pages = {
                 'text': Template('$tot FTBFS packages in $suite/$arch:')
             },
             {
+                'icon_status': 'depwait',
+                'db_status': 'depwait',
+                'icon_link': '/index_depwait.html',
+                'query': 'depwait_all_abc',
+                'text': Template('$tot ($percent%) source packages failed to satisfy their build-dependencies:')
+            },
+            {
                 'icon_status': 'not_for_us',
                 'db_status': 'not for us',
                 'icon_link': '/index_not_for_us.html',
@@ -316,6 +341,13 @@ pages = {
                 'text': Template('$tot FTBFS packages in $suite/$arch:')
             },
             {
+                'icon_status': 'depwait',
+                'db_status': 'depwait',
+                'icon_link': '/index_depwait.html',
+                'query': 'depwait_all_abc',
+                'text': Template('$tot ($percent%) source packages failed to satisfy their build-dependencies:')
+            },
+            {
                 'icon_status': 'blacklisted',
                 'db_status': 'blacklisted',
                 'icon_link': '/index_blacklisted.html',
diff --git a/userContent/reproducible/static/weather-snow.png b/userContent/reproducible/static/weather-snow.png
new file mode 100644
index 0000000..a83d855
Binary files /dev/null and b/userContent/reproducible/static/weather-snow.png differ

-- 
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