summaryrefslogtreecommitdiffstats
path: root/bin/reproducible_openwrt.sh
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-06-12 15:34:42 +0200
committerHolger Levsen <holger@layer-acht.org>2015-06-12 15:34:42 +0200
commit1c819775d37bf9f57a351278273d89cabebf102e (patch)
tree4d6d336646bb2b61efba53e72128e58451f68739 /bin/reproducible_openwrt.sh
parent1d2f5c0ff1f2e9b29fa68d16603f26271fc7f767 (diff)
downloadjenkins.debian.net-1c819775d37bf9f57a351278273d89cabebf102e.tar.xz
reproducible openwrt: create toolchain html after toolchain was installed. add openwrt banner
Diffstat (limited to 'bin/reproducible_openwrt.sh')
-rwxr-xr-xbin/reproducible_openwrt.sh46
1 files changed, 24 insertions, 22 deletions
diff --git a/bin/reproducible_openwrt.sh b/bin/reproducible_openwrt.sh
index c87c74f4..7efb53b3 100755
--- a/bin/reproducible_openwrt.sh
+++ b/bin/reproducible_openwrt.sh
@@ -93,27 +93,6 @@ echo "==========================================================================
make defconfig
make -j $NUM_CPU tools/install
-#
-# create html about toolchain used
-#
-TOOLCHAIN_HTML=$(mktemp)
-TARGET=$(ls -1d staging_dir/toolchain*|cut -d "-" -f2-)
-echo "<table><tr><th>Contents of <pre>build_dir/host/</pre></th></tr>" > $TOOLCHAIN_HTML
-for i in $(ls -1 build_dir/host/) ; do
- echo " <tr><td>$i</td></tr>" >> $TOOLCHAIN_HTML
-echo "</table>" >> $TOOLCHAIN_HTML
-echo "<table><tr><th>Downloaded software built for <pre>$TARGET</pre></th></tr>" >> $TOOLCHAIN_HTML
-for i in $(ls -1 dl/) ; do
- echo " <tr><td>$i</td></tr>" >> $TOOLCHAIN_HTML
-echo "</table>" >> $TOOLCHAIN_HTML
-echo "<table><tr><th>Debian $(cat /etc/debian_version) package on $(dpkg --print-architecture)</th><th>installed version</th></tr>" >> $TOOLCHAIN_HTML
-for i in gcc binutils bzip2 flex python perl make findutils grep diff unzip gawk util-linux zlib1g-dev libc6-dev git subversion ; do
- echo " <tr><td>$i</td><td>" >> $TOOLCHAIN_HTML
- dpkg -s $i|grep '^Version'|cut -d " " -f2 >> $TOOLCHAIN_HTML
- echo " </td></tr>" >> $TOOLCHAIN_HTML
-done
-echo "</table>" >> $TOOLCHAIN_HTML
-
echo "============================================================================="
echo "$(date -u) - Building openwrt ${OPENWRT_VERSION} images now - first build run."
echo "============================================================================="
@@ -199,6 +178,27 @@ done
cd ..
rm bin -r
+#
+# create html about toolchain used
+#
+TOOLCHAIN_HTML=$(mktemp)
+TARGET=$(ls -1d staging_dir/toolchain*|cut -d "-" -f2-)
+echo "<table><tr><th>Contents of <pre>build_dir/host/</pre></th></tr>" > $TOOLCHAIN_HTML
+for i in $(ls -1 build_dir/host/) ; do
+ echo " <tr><td>$i</td></tr>" >> $TOOLCHAIN_HTML
+echo "</table>" >> $TOOLCHAIN_HTML
+echo "<table><tr><th>Downloaded software built for <pre>$TARGET</pre></th></tr>" >> $TOOLCHAIN_HTML
+for i in $(ls -1 dl/) ; do
+ echo " <tr><td>$i</td></tr>" >> $TOOLCHAIN_HTML
+echo "</table>" >> $TOOLCHAIN_HTML
+echo "<table><tr><th>Debian $(cat /etc/debian_version) package on $(dpkg --print-architecture)</th><th>installed version</th></tr>" >> $TOOLCHAIN_HTML
+for i in gcc binutils bzip2 flex python perl make findutils grep diff unzip gawk util-linux zlib1g-dev libc6-dev git subversion ; do
+ echo " <tr><td>$i</td><td>" >> $TOOLCHAIN_HTML
+ dpkg -s $i|grep '^Version'|cut -d " " -f2 >> $TOOLCHAIN_HTML
+ echo " </td></tr>" >> $TOOLCHAIN_HTML
+done
+echo "</table>" >> $TOOLCHAIN_HTML
+
# run debbindiff on the results
TIMEOUT="30m"
DBDSUITE="unstable"
@@ -258,8 +258,10 @@ cat > $PAGE <<- EOF
<br />
<strong>OpenWRT</strong>: <em>reproducible</em> wireless freedom?
</blockquote>
- </center></p>
+ <pre>
EOF
+cat $(find openwrt/build_dir/ -name banner | grep etc/banner|head -1) >> $PAGE
+write_page " </pre></center></p>"
write_page " <h1>Reproducible OpenWRT</h1>"
write_page " <p><em>Reproducible builds</em> 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 <a href=\"https://wiki.debian.org/ReproducibleBuilds\">reproducible builds on the Debian wiki</a> and on <a href=\"https://reproducible.debian.net\">https://reproducible.debian.net</a>. The wiki has a lot more information, eg. why this is useful, what common issues exist and which workarounds and solutions are known.<br />"
write_page " <em>Reproducible OpenWRT</em> 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 from the two builds are compared using <a href=\"https://tracker.debian.org/debbindiff\">debbindiff</a>. 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.</p>"