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 "
$i (${SIZE}K) is unreproducible."
else
SHASUM=$(sha256sum $i/coreboot.rom|cut -d " " -f1)
- write_page " $i ($SHASUM, ${SIZE}K) had no debbindiff output so it's probably reproducible :)"
+ write_page " $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 " $i failed to build from source."
--
cgit v1.2.3-70-g09d2