From 1ea4f082ac52bb3f48a52fbee92bf08a7898cdc5 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Mon, 29 Sep 2014 07:20:12 +0200 Subject: reproducible: polishing, here+there --- bin/reproducible_build.sh | 3 ++- bin/reproducible_stats.sh | 4 ++-- job-cfg/reproducible.yaml | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh index 92f403a5..06b37263 100755 --- a/bin/reproducible_build.sh +++ b/bin/reproducible_build.sh @@ -49,6 +49,7 @@ if [[ $1 =~ ^-?[0-9]+$ ]] ; then curl http://ftp.de.debian.org/debian/dists/sid/main/source/Sources.xz > $TMPFILE AMOUNT=$1 PACKAGES=$(xzcat $TMPFILE | grep "^Package" | grep -v "^Package-List:" | cut -d " " -f2 | egrep -v "linux$"| sort -R | head -$AMOUNT | xargs echo) + # update amount of available packages (for doing statistics later) P_IN_SOURCES=$(xzcat $TMPFILE | grep "^Package" | grep -v "^Package-List:" | cut -d " " -f2 | wc -l) sqlite3 -init $INIT $PACKAGES_DB "REPLACE INTO source_stats VALUES (\"sid\", \"${P_IN_SOURCES}\")" rm $TMPFILE @@ -88,7 +89,7 @@ for SRCPACKAGE in $PACKAGES ; do sqlite3 -init $INIT $PACKAGES_DB "REPLACE INTO source_packages VALUES (\"${SRCPACKAGE}\", \"${VERSION}\", \"404\", \"$DATE\", \"\")" else STATUS=$(sqlite3 $PACKAGES_DB "SELECT status FROM source_packages WHERE name = \"${SRCPACKAGE}\" AND version = \"${VERSION}\"") - if [ "$STATUS" = "reproducible" ] && [ $(( $RANDOM % 100 )) -gt 25 ] ; then + if [ "$STATUS" = "reproducible" ] && [ $(( $RANDOM % 100 )) -gt 20 ] ; then echo "Package ${SRCPACKAGE} (${VERSION}) build reproducibly in the past and was thus randomly skipped." let "COUNT_SKIPPED=COUNT_SKIPPED+1" SKIPPED="${SRCPACKAGE} ${SKIPPED}" diff --git a/bin/reproducible_stats.sh b/bin/reproducible_stats.sh index fc2fc366..f84b3055 100755 --- a/bin/reproducible_stats.sh +++ b/bin/reproducible_stats.sh @@ -37,7 +37,7 @@ rm index.html htmlecho "" > index.html htmlecho "

Statistics for reproducible builds

" htmlecho "

Results were obtaining by several jobs running on jenkins.debian.net. This page is updated after each job run.

" -htmlecho "

$COUNT_TOTAL packages attempted to build so far, out of $AMOUNT in Debian $SUITE currently. That's $PERCENT_TOTAL%!

" +htmlecho "

$COUNT_TOTAL packages attempted to build so far, that's $PERCENT_TOTAL% of $AMOUNT in Debian $SUITE currently.

" htmlecho "

$COUNT_BAD packages ($PERCENT_BAD% of $COUNT_TOTAL) failed to built reproducibly: " for PKG in $BAD ; do VERSION=$(sqlite3 $PACKAGES_DB "SELECT version FROM source_packages WHERE name = \"$PKG\"") @@ -52,7 +52,7 @@ if [ $COUNT_SOURCELESS -gt 0 ] ; then htmlecho "

$COUNT_SOURCELESS packages which don't exist in sid and need investigation: $SOURCELESS

" fi htmlecho "

$COUNT_GOOD packages ($PERCENT_GOOD% of $COUNT_TOTAL) successfully built reproducibly: ${GOOD}

" -htmlecho "

\"$PERCENT_GOOD% of $AMOUNT\" and \"$PERCENT_TOTAL% of $AMOUNT\" means roughly+wildly guessed $GUESS_GOOD packages can be build reproducibly! Yay! :-)" +htmlecho "

\"$PERCENT_GOOD% of $AMOUNT\" and \"$PERCENT_TOTAL% of $AMOUNT\" means roughly+wildly guessed $GUESS_GOOD packages that can be build reproducibly! Yay! :-)" htmlecho "


Packages which failed to build reproducibly, sorted by Maintainers: and Uploaders: fields." htmlecho "

$(echo $BAD | dd-list -i) 

" htmlecho "

Static URL for this page. Last modified: $(date)" diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml index 566a2f71..a612534a 100644 --- a/job-cfg/reproducible.yaml +++ b/job-cfg/reproducible.yaml @@ -199,9 +199,9 @@ my_packages: '' - '{name}_build_random_packages': my_description: 'Reproducible build this many random packages each day:' - my_timed: '23 3 * * *' + my_timed: '23 3,9 * * *' my_shell: '/srv/jenkins/bin/reproducible_build.sh' - my_packages: '100' + my_packages: '66' - '{name}_build_test_reproducibility': my_description: 'Reproducible build of a few packages, some we know will succeed and some we know which "should" fail: ' my_timed: '' @@ -216,7 +216,7 @@ my_description: 'Reproducible build packages which are used to build other packages.
Source packages to be build: ' my_timed: '42 23 1,16 * *' my_shell: '/srv/jenkins/bin/reproducible_build.sh' - my_packages: 'cdbs eglibc gcc-defaults make-dfsg devscripts python python3 ruby ghc php5 tcl asciidoc ant maven maven2 lintian pbuilder piuparts schroot fakeroot sbuild cowbuilder' + my_packages: 'cdbs eglibc gcc-defaults devscripts python python3 ruby ghc php5 tcl asciidoc ant maven maven2 lintian pbuilder piuparts schroot fakeroot sbuild cowbuilder' - '{name}_build_desktop_apps': my_description: 'Reproducible build of desktop applications: ' my_timed: '42 5 2,17 * *' @@ -266,7 +266,7 @@ my_description: 'Reproducible build of these server packages: ' my_timed: '42 23 6,21 * *' my_shell: '/srv/jenkins/bin/reproducible_build.sh' - my_packages: 'apache2 asterisk bind9 courier icinga icinga2 lighttpd munin mysql-5.5 nginx postfix postgresql squid3' + my_packages: 'apache2 asterisk bind9 courier icinga icinga2 lighttpd munin mysql-5.5 nginx postfix exim4 sendmail postgresql squid squid3 roundcube openssh rsync nfs-utils bitlbee dropbear' - '{name}_build_security-privacy': my_description: 'Reproducible build of these security and privacy related packages: ' my_timed: '42 5 7,22 * *' -- cgit v1.2.3-70-g09d2