From 91661bd80b90fda2badc8dc077169860f4beb7db Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Wed, 10 Jun 2015 11:34:25 +0200 Subject: reproducible coreboot: remove doubts about reproducible images --- bin/.reproducible_build.sh.swp | Bin 0 -> 16384 bytes bin/reproducible_coreboot.sh | 19 +++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 bin/.reproducible_build.sh.swp diff --git a/bin/.reproducible_build.sh.swp b/bin/.reproducible_build.sh.swp new file mode 100644 index 00000000..0efec6f2 Binary files /dev/null and b/bin/.reproducible_build.sh.swp differ diff --git a/bin/reproducible_coreboot.sh b/bin/reproducible_coreboot.sh index 163a047b..e0c9b7e5 100755 --- a/bin/reproducible_coreboot.sh +++ b/bin/reproducible_coreboot.sh @@ -27,6 +27,7 @@ create_results_dirs() { call_debbindiff() { local TMPLOG=(mktemp --tmpdir=$TMPDIR) + local msg="" set +e ( timeout $TIMEOUT schroot \ --directory $TMPDIR \ @@ -48,21 +49,22 @@ call_debbindiff() { echo "$(date -u) - $DBDVERSION found issues, please investigate $1/coreboot.rom" ;; 2) - echo "$(date -u) - $DBDVERSION had trouble comparing the two builds. Please investigate $1/coreboot.rom" + msg="$(date -u) - $DBDVERSION had trouble comparing the two builds. Please investigate $1/coreboot.rom" ;; 124) if [ ! -s $TMPDIR/$1.html ] ; then - echo "$(date -u) - $DBDVERSION produced no output for $1/coreboot.rom and was killed after running into timeout after ${TIMEOUT}..." + msg="$(date -u) - $DBDVERSION produced no output for $1/coreboot.rom and was killed after running into timeout after ${TIMEOUT}..." else - local msg="$DBDVERSION was killed after running into timeout after $TIMEOUT" - msg="$msg, but there is still $TMPDIR/$1.html" + msg="$DBDVERSION was killed after running into timeout after $TIMEOUT, but there is still $TMPDIR/$1.html" fi - echo $msg ;; *) - echo "$(date -u) - Something weird happened when running $DBDVERSION on $1/coreboot.rom (which exited with $RESULT) and I don't know how to handle it" + msg="$(date -u) - Something weird happened when running $DBDVERSION on $1/coreboot.rom (which exited with $RESULT) and I don't know how to handle it." ;; esac + if [ ! -z $msg ] ; then + echo $msg | tee -a $TMPDIR/$1.html + fi } # @@ -201,7 +203,7 @@ cat > $PAGE <<- EOF EOF write_page "

Reproducible Coreboot

" write_page "

Reproducible builds enable anyone to reproduce bit by bit identical binary packages from a given source, si that anyone can verify that a given binary derived from the source it was said to be derived. There is a lot more information about reproducible builds on the Debian wiki and on https://reproducible.debian.net.
" -write_page " Reproducible Coreboot is an effort to apply this to coreboot. Thus each coreboot.rom is build twice, with a few varitations added and then those two ROMs are compared using debbindiff. Please note that the toolchain is not varied at all and the rebuild happens on exactly the same system and so more variations are to be expected in the wild.

" +write_page " Reproducible Coreboot is an effort to apply this to coreboot. Thus each coreboot.rom is build twice, with a few varitations added and then those two ROMs are compared using debbindiff. Please note that the toolchain is not varied at all as the rebuild happens on exactly the same system. More variations are expected to be seen in the wild.

" write_page "

There is a monthly run jenkins job to test the master branch of coreboot.git. Currently this job is triggered more often though, because this is still under development and brand new. The jenkins job is simply running reproducible_coreboot.sh in a Debian environemnt and this script is solely responsible for creating this page. Feel invited to join #debian-reproducible (on irc.oftc.net) to request job runs whenever sensible. Patches and other feedback are very much appreciated!

" write_page "

"
 echo -n "$COREBOOT" >> $PAGE
@@ -224,8 +226,9 @@ for i in * ; do
 			write_page "         
  • \"unreproducible $i (${SIZE}K) is unreproducible.
  • " else SHASUM=$(sha256sum $i/coreboot.rom|cut -d " " -f1) - write_page "
  • \"reproducible $i ($SHASUM, ${SIZE}K) had no debbindiff output so it's probably reproducible :)
  • " + write_page "
  • \"reproducible $i ($SHASUM, ${SIZE}K) is reproducible.
  • " let GOOD_ROMS+=1 + rm -f $BASE/coreboot/dbd/$i.html # cleanup from previous (unreproducible) tests - if needed fi else write_page "
  • \"FTBFS $i failed to build from source.
  • " -- cgit v1.2.3-70-g09d2