From dd50dd66f345eb21cd2057cd5bb4ba4987803125 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Mon, 15 Jun 2015 09:12:51 +0200 Subject: reproducible openwrt and coreboot: use common intro --- bin/reproducible_common.sh | 14 ++++++++++++++ bin/reproducible_coreboot.sh | 4 +--- bin/reproducible_openwrt.sh | 4 +--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh index a41f9ce3..9d9359b5 100755 --- a/bin/reproducible_common.sh +++ b/bin/reproducible_common.sh @@ -216,6 +216,20 @@ write_page_header() { write_page "" } +write_page_intro() { + write_page "

Reproducible builds enable anyone to reproduce bit by bit identical binary packages from a given source, so 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. The wiki explains in more depth why this is useful, what common issues exist and which workarounds and solutions are known.
" + if [ "$1" = "coreboot" ] ; + write_page " Reproducible Coreboot is an effort to apply this to coreboot. Thus each coreboot.rom is build twice (without payloads), 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.

" + local PROJECTNAME="$1" + local PROJECTURL="https://review.coreboot.org/p/coreboot.git" + elif [ "$1" = "OpenWrt" ] ; then + write_page " Reproducible OpenWrt is an effort to apply this to OpenWrt. Thus each OpenWR target is build twice, with a few varitations added and then the resulting images and packages from the two builds are compared using debbindiff, which currently cannot detect .bin files as squashfs filesystems. Thus the resulting debbindiff output is not nearly as clear as it could be - hopefully this limitation will be overcome soon. Also 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.

" + local PROJECTNAME="openwrt" + local PROJECTURL="git://git.openwrt.org/openwrt.git" + fi + write_page "

There is a monthly run jenkins job to test the master branch of $PROJECTNAME.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_$PROJECTNAME.sh in a Debian environment 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_footer() { write_page "

There is more information about jenkins.debian.net and about reproducible builds of Debian available elsewhere. Last update: $(date +'%Y-%m-%d %H:%M %Z'). Copyright 2014-2015 Holger Levsen and others, GPL2 licensed. The weather icons are public domain and have been taken from the Tango Icon Library." if [ "$1" = "coreboot" ] ; then diff --git a/bin/reproducible_coreboot.sh b/bin/reproducible_coreboot.sh index 2802f69d..3085453a 100755 --- a/bin/reproducible_coreboot.sh +++ b/bin/reproducible_coreboot.sh @@ -261,9 +261,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, so 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. The wiki explains in deep why this is useful, what common issues exist and which workarounds and solutions are known.
" -write_page " Reproducible Coreboot is an effort to apply this to coreboot. Thus each coreboot.rom is build twice (without payloads), 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 environment 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_intro coreboot write_page "

$GOOD_ROMS ($GOOD_PERCENT%) out of $ALL_ROMS built coreboot images were reproducible in our test setup" if [ "$GOOD_PERCENT" = "100.0" ] ; then write_page "!" diff --git a/bin/reproducible_openwrt.sh b/bin/reproducible_openwrt.sh index 9eeeee46..5e6a4e30 100755 --- a/bin/reproducible_openwrt.sh +++ b/bin/reproducible_openwrt.sh @@ -328,9 +328,7 @@ cat $BANNER_HTML >> $PAGE write_page "

" write_page "
" write_page "

OpenWrt - reproducible wireless freedom$MAGIC_SIGN

" -write_page "

Reproducible builds enable anyone to reproduce bit by bit identical binary packages from a given source, so 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. The wiki explains in more depth why this is useful, what common issues exist and which workarounds and solutions are known.
" -write_page " Reproducible OpenWrt is an effort to apply this to OpenWrt Thus each OpenWR target is build twice, with a few varitations added and then the resulting images and packages from the two builds are compared using debbindiff, which currently cannot detect .bin files as squashfs filesystems. Thus the resulting debbindiff output is not nearly as clear as it could be - hopefully this limitation will be overcome soon. Also 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 openwrt.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_openwrt.sh in a Debian environment 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_intro OpenWrt write_page "

$GOOD_IMAGES ($GOOD_PERCENT_IMAGES%) out of $ALL_IMAGES built images and $GOOD_PACKAGES ($GOOD_PERCENT_PACKAGES%) out of $ALL_PACKAGES built packages were reproducible in our test setup." write_page " These tests were last run on $DATE for version ${OPENWRT_VERSION}.

" write_explaination_table OpenWrt -- cgit v1.2.3-54-g00ecf