From 9fe84bf6d46d8f6bd5c1fa9e2bd222bdf6a70271 Mon Sep 17 00:00:00 2001
From: Holger Levsen $COUNT_TOTAL packages have been attempted to be build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. "
-set_icon reproducible
-write_icon
-write_page "$COUNT_GOOD packages ($PERCENT_GOOD%) successfully built reproducibly in $SUITE/$ARCH."
-set_icon unreproducible
-write_icon
-write_page "$COUNT_BAD packages ($PERCENT_BAD%) failed to built reproducibly."
-set_icon FTBFS
-write_icon
-write_page "$COUNT_UGLY packages ($PERCENT_UGLY%) failed to build from source. "
-if [ $COUNT_SOURCELESS -gt 0 ] ; then
- write_page "For "
- set_icon 404
+#
+# create suite stats page
+#
+create_suite_stats_page() {
+ VIEW=suite_stats
+ PAGE=index_${VIEW}.html
+ MAINLABEL[0]="Reproducibility status for packages in '$SUITE'"
+ echo "$(date) - starting to write $PAGE page."
+ write_page_header $VIEW "Overview of various statistics about reproducible builds for $SUITE"
+ if [ $(echo $PERCENT_TOTAL/1|bc) -lt 98 ] ; then
+ write_page " $COUNT_TOTAL packages have been attempted to be build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. "
+ set_icon reproducible
write_icon
- write_page "$COUNT_SOURCELESS ($PERCENT_SOURCELESS%) packages sources could not be downloaded,"
-fi
-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' will not be build here"
-write_page "and those "
-set_icon blacklisted
-
-write_icon
-write_page "$COUNT_BLACKLISTED blacklisted packages neither. "
-write_page " "
-# redo png once a day
-if [ ! -f /var/lib/jenkins/userContent/$SUITE/${TABLE[0]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent/$SUITE -maxdepth 1 -mtime +0 -name ${TABLE[0]}.png) ] ; then
- create_png_from_table 0 $SUITE/${TABLE[0]}.png
-fi
-write_page "
" + if [ $COUNT_SOURCELESS -gt 0 ] ; then + write_page "For " + set_icon 404 + write_icon + write_page "$COUNT_SOURCELESS ($PERCENT_SOURCELESS%) packages sources could not be downloaded," fi -done -write_page "" -for i in $(seq 1 ${#META_PKGSET[@]}) ; do - write_page "
" + write_page " " + # redo png once a day + if [ ! -f /var/lib/jenkins/userContent/$SUITE/${TABLE[0]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent/$SUITE -maxdepth 1 -mtime +0 -name ${TABLE[0]}.png) ] ; then + create_png_from_table 0 $SUITE/${TABLE[0]}.png + fi + write_page "
" + write_page_footer + publish_page $SUITE +} + +# +# create pkg sets page +# +create_pkg_sets_page() { + VIEW=pkg_sets + PAGE=index_${VIEW}.html + echo "$(date) - starting to write $PAGE page." + write_page_header $VIEW "Overview about reproducible builds of specific package sets in $SUITE/$ARCH" + write_page ""
- write_page "
The package set '${META_PKGSET[$i]}' in $SUITE/$ARCH consists of:
"
- set_icon reproducible
- write_icon
- write_page "$COUNT_META_GOOD packages ($PERCENT_META_GOOD%) successfully built reproducibly:"
- set_linktarget $META_GOOD
- link_packages $META_GOOD
- write_page "
"
- set_icon unreproducible
- write_icon
- write_page "$COUNT_META_BAD ($PERCENT_META_BAD%) packages failed to built reproducibly:"
- set_linktarget $META_BAD
- link_packages $META_BAD
- write_page "
"
- if [ $COUNT_META_UGLY -gt 0 ] ; then
- set_icon FTBFS
+ done
+ write_page "
"
+ write_page "
The package set '${META_PKGSET[$i]}' in $SUITE/$ARCH consists of:
"
+ set_icon reproducible
write_icon
- write_page "$COUNT_META_UGLY ($PERCENT_META_UGLY%) packages failed to build from source:"
- set_linktarget $META_UGLY
- link_packages $META_UGLY
+ write_page "$COUNT_META_GOOD packages ($PERCENT_META_GOOD%) successfully built reproducibly:"
+ set_linktarget $META_GOOD
+ link_packages $META_GOOD
write_page "
"
- fi
- if [ $COUNT_META_REST -gt 0 ] ; then
- set_icon not_for_us
+ set_icon unreproducible
write_icon
- set_icon blacklisted
- write_icon
- set_icon 404
- write_icon
- write_page "$COUNT_META_REST ($PERCENT_META_REST%) packages are either blacklisted, not for us or cannot be downloaded:"
- set_linktarget $META_REST
- link_packages $META_REST
+ write_page "$COUNT_META_BAD ($PERCENT_META_BAD%) packages failed to built reproducibly:"
+ set_linktarget $META_BAD
+ link_packages $META_BAD
write_page "
"
+ if [ $COUNT_META_UGLY -gt 0 ] ; then
+ set_icon FTBFS
+ write_icon
+ write_page "$COUNT_META_UGLY ($PERCENT_META_UGLY%) packages failed to build from source:"
+ set_linktarget $META_UGLY
+ link_packages $META_UGLY
+ write_page "
"
+ fi
+ if [ $COUNT_META_REST -gt 0 ] ; then
+ set_icon not_for_us
+ write_icon
+ set_icon blacklisted
+ write_icon
+ set_icon 404
+ write_icon
+ write_page "$COUNT_META_REST ($PERCENT_META_REST%) packages are either blacklisted, not for us or cannot be downloaded:"
+ set_linktarget $META_REST
+ link_packages $META_REST
+ write_page "
"
+ fi
+ write_page "
" -for i in $SUITES ; do - write_page " " -done -write_page "
" -for i in $(seq 1 ${#META_PKGSET[@]}) ; do - PNG=${TABLE[6]}_${META_PKGSET[$i]}.png - LABEL="Reproducibility status for packages in $SUITE/$ARCH from '${META_PKGSET[$i]}'" - write_page "" -done -write_page "
" -# FIXME: we don't do 2 / stats_builds_age.png yet :/ (and 6 and 0 are done already) -for i in 3 4 5 1 ; do - if [ "$i" = "3" ] ; then - write_usertag_table - fi - write_page " " - # redo pngs once a day - if [ ! -f /var/lib/jenkins/userContent/${TABLE[$i]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then - create_png_from_table $i ${TABLE[$i]}.png +# +# create main stats page +# +create_stats_page() { + VIEW=stats + PAGE=index_${VIEW}.html + echo "$(date) - starting to write $PAGE page." + write_page_header $VIEW "Overview of various statistics about reproducible builds" + write_page "
" + for i in $SUITES ; do + write_page " " + done + write_page "
" + SUITE="sid" # shall become a loop once we test stretch + for i in $(seq 1 ${#META_PKGSET[@]}) ; do + PNG=${TABLE[6]}_${META_PKGSET[$i]}.png + LABEL="Reproducibility status for packages in $SUITE/$ARCH from '${META_PKGSET[$i]}'" + write_page "" + done + write_page "
" + # FIXME: we don't do 2 / stats_builds_age.png yet :/ (and 6 and 0 are done already) + for i in 3 4 5 1 ; do + if [ "$i" = "3" ] ; then + write_usertag_table + fi + write_page " " + # redo pngs once a day + if [ ! -f /var/lib/jenkins/userContent/${TABLE[$i]}.png ] || [ ! -z $(find /var/lib/jenkins/userContent -maxdepth 1 -mtime +0 -name ${TABLE[$i]}.png) ] ; then + create_png_from_table $i ${TABLE[$i]}.png + fi + done + write_page "
" + write_page_footer + publish_page +} + +# +# main +# +update_bug_stats +update_notes_stats +create_stats_page +for SUITE in $SUITES ; do + update_suite_stats + gather_suite_stats + create_suite_stats_page + # no pkg sets in experimental + if [ "$SUITE" != "experimental" ] ; then + update_meta_pkg_stats + create_pkg_sets_page fi done -write_page "" -write_page_footer -publish_page - -- cgit v1.2.3-70-g09d2