diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/reproducible_build.sh | 17 | ||||
-rwxr-xr-x | bin/reproducible_common.py | 1 | ||||
-rwxr-xr-x | bin/reproducible_html_indexes.py | 32 |
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', |