summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/reproducible_build.sh17
-rwxr-xr-xbin/reproducible_common.py1
-rwxr-xr-xbin/reproducible_html_indexes.py32
3 files changed, 50 insertions, 0 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 3941bfea..c1d30a08 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 99db4863..a36c89f8 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 070eb096..24092933 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',