summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-02-15 17:57:42 +0100
committerHolger Levsen <holger@layer-acht.org>2015-02-15 17:57:42 +0100
commit4b0408dd275ac22214a4bfcc28d52d496abe265f (patch)
treef578b2e98a2d5417a2c51f197481d0248164d1f5 /bin
parent489b7b3f53d6b19351b932068fa578689d3180b3 (diff)
downloadjenkins.debian.net-4b0408dd275ac22214a4bfcc28d52d496abe265f.tar.xz
reproducible: replace another shell script with python (and speedup runtime from 15m to 4s) - many thanks to Mattia Rizzolo
Diffstat (limited to 'bin')
-rwxr-xr-xbin/reproducible_html_indexes.sh146
1 files changed, 0 insertions, 146 deletions
diff --git a/bin/reproducible_html_indexes.sh b/bin/reproducible_html_indexes.sh
deleted file mode 100755
index f1271471..00000000
--- a/bin/reproducible_html_indexes.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash
-
-# Copyright 2014-2015 Holger Levsen <holger@layer-acht.org>
-# released under the GPLv=2
-
-DEBUG=false
-. /srv/jenkins/bin/common-functions.sh
-common_init "$@"
-
-# common code defining db access
-. /srv/jenkins/bin/reproducible_common.sh
-
-set +x
-init_html
-
-declare -A GOOD
-declare -A BAD
-declare -A UGLY
-declare -A SOURCELESS
-declare -A NOTFORUS
-LAST24="AND build_date > datetime('now', '-24 hours') "
-LAST48="AND build_date > datetime('now', '-48 hours') "
-GOOD["all"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"reproducible\" ORDER BY build_date DESC" | xargs echo)
-GOOD["last_24h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"reproducible\" $LAST24 ORDER BY build_date DESC" | xargs echo)
-GOOD["last_48h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"reproducible\" $LAST48 ORDER BY build_date DESC" | xargs echo)
-GOOD["all_abc"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"reproducible\" ORDER BY name" | xargs echo)
-BAD["all"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"unreproducible\" ORDER BY build_date DESC" | xargs echo)
-BAD["last_24h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"unreproducible\" $LAST24 ORDER BY build_date DESC" | xargs echo)
-BAD["last_48h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"unreproducible\" $LAST48 ORDER BY build_date DESC" | xargs echo)
-BAD["all_abc"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"unreproducible\" ORDER BY name" | xargs echo)
-UGLY["all"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"FTBFS\" ORDER BY build_date DESC" | xargs echo)
-UGLY["last_24h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"FTBFS\" $LAST24 ORDER BY build_date DESC" | xargs echo)
-UGLY["last_48h"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"FTBFS\" $LAST48 ORDER BY build_date DESC" | xargs echo)
-UGLY["all_abc"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"FTBFS\" ORDER BY name" | xargs echo)
-SOURCELESS["all"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"404\" ORDER BY build_date DESC" | xargs echo)
-SOURCELESS["all_abc"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"404\" ORDER BY name" | xargs echo)
-NOTFORUS["all"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"not for us\" ORDER BY build_date DESC" | xargs echo)
-NOTFORUS["all_abc"]=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"not for us\" ORDER BY name" | xargs echo)
-BLACKLISTED=$(sqlite3 -init $INIT $PACKAGES_DB "SELECT name FROM source_packages WHERE status = \"blacklisted\" ORDER BY name" | xargs echo)
-gather_stats
-
-#
-# actually build the package pages
-#
-echo "$(date) - processing $COUNT_TOTAL packages... this will take a while."
-force_package_targets ${BAD["all"]}
-force_package_targets ${UGLY["all"]} ${GOOD["all"]} ${SOURCELESS["all"]} ${NOTFORUS["all"]} $BLACKLISTED
-
-for VIEW in last_24h last_48h all_abc ; do
- PAGE=index_${VIEW}.html
- echo "$(date) - starting to write $PAGE page."
- write_page_header $VIEW "Overview of reproducible builds of ${SPOKENTARGET[$VIEW]}"
- if [ "${VIEW:0:3}" = "all" ] ; then
- FINISH=":"
- else
- SHORTER_SPOKENTARGET=$(echo ${SPOKENTARGET[$VIEW]} | cut -d "(" -f1)
- FINISH=", from $SHORTER_SPOKENTARGET these were:"
- fi
- write_page "<p>"
- set_icon unreproducible
- write_icon
- write_page "$COUNT_BAD packages ($PERCENT_BAD% of $COUNT_TOTAL) failed to built reproducibly in total$FINISH <code>"
- link_packages ${BAD[$VIEW]}
- write_page "</code></p>"
- write_page
- write_page "<p>"
- set_icon FTBFS
- write_icon
- write_page "$COUNT_UGLY packages ($PERCENT_UGLY%) failed to build from source in total$FINISH <code>"
- link_packages ${UGLY[$VIEW]}
- write_page "</code></p>"
- if [ "${VIEW:0:3}" = "all" ] && [ $COUNT_SOURCELESS -gt 0 ] ; then
- write_page "<p>For "
- set_icon 404
- write_icon
- write_page "$COUNT_SOURCELESS ($PERCENT_SOURCELESS%) packages in total sources could not be downloaded: <code>"
- link_packages ${SOURCELESS[$VIEW]}
- write_page "</code></p>"
- fi
- if [ "${VIEW:0:3}" = "all" ] && [ $COUNT_NOTFORUS -gt 0 ] ; then
- write_page "<p>In total there were "
- set_icon not_for_us
- write_icon
- write_page "$COUNT_NOTFORUS ($PERCENT_NOTFORUS%) packages which are neither Architecture: 'any', 'all', 'amd64', 'linux-any', 'linux-amd64' nor 'any-amd64': <code>"
- link_packages ${NOTFORUS[$VIEW]}
- write_page "</code></p>"
- fi
- if [ "${VIEW:0:3}" = "all" ] && [ $COUNT_BLACKLISTED -gt 0 ] ; then
- write_page "<p>"
- set_icon blacklisted
- write_icon
- write_page "$COUNT_BLACKLISTED packages are blacklisted and will not be tested here: <code>"
- link_packages $BLACKLISTED
- write_page "</code></p>"
- fi
- write_page "<p>"
- set_icon reproducible
- write_icon
- write_page "$COUNT_GOOD packages ($PERCENT_GOOD%) successfully built reproducibly$FINISH <code>"
- link_packages ${GOOD[$VIEW]}
- write_page "</code></p>"
- write_page_meta_sign
- write_page_footer
- publish_page
-done
-
-count_packages() {
- COUNT=${#@}
- PERCENT=$(echo "scale=1 ; ($COUNT*100/$COUNT_TOTAL)" | bc)
-}
-
-for STATE in $ALLSTATES ; do
- PAGE=index_${STATE}.html
- echo "$(date) - starting to write $PAGE page."
- write_page_header $STATE "Overview of ${SPOKENTARGET[$STATE]}"
- WITH=""
- case "$STATE" in
- reproducible) PACKAGES=${GOOD["all"]}
- ;;
- FTBR) PACKAGES=${BAD["all"]}
- ;;
- FTBFS) PACKAGES=${UGLY["all"]}
- ;;
- 404) PACKAGES=${SOURCELESS["all"]}
- ;;
- not_for_us) PACKAGES=${NOTFORUS["all"]}
- ;;
- blacklisted) PACKAGES=${BLACKLISTED}
- ;;
- esac
- count_packages ${PACKAGES}
- write_page "<p>"
- set_icon $STATE $WITH
- write_icon
- write_page "$COUNT ($PERCENT%) ${SPOKENTARGET[$STATE]}:<code>"
- link_packages ${PACKAGES}
- write_page "</code></p>"
- write_page
- if [ $COUNT -ne 0 ] ; then
- write_page_meta_sign
- fi
- write_page_footer
- publish_page
-done
-
-update_html_schedule