summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/reproducible_coreboot.sh49
-rw-r--r--userContent/reproducible/coreboot/coreboot.pngbin0 -> 11523 bytes
-rw-r--r--userContent/reproducible/coreboot/landing_style.css612
3 files changed, 654 insertions, 7 deletions
diff --git a/bin/reproducible_coreboot.sh b/bin/reproducible_coreboot.sh
index 96f6191c..3bfb2cfe 100755
--- a/bin/reproducible_coreboot.sh
+++ b/bin/reproducible_coreboot.sh
@@ -4,7 +4,7 @@
# © 2015 Mattia Rizzolo <mattia@mapreri.org>
# released under the GPLv=2
-DEBUG=true
+DEBUG=false
. /srv/jenkins/bin/common-functions.sh
common_init "$@"
@@ -152,17 +152,23 @@ cd coreboot
git submodule update --init --checkout 3rdparty/blobs
COREBOOT="$(git log -1 | head -3)"
+NUM_CPU=$(cat /proc/cpuinfo |grep ^processor|wc -l)
echo "============================================================================="
echo "$(date -u) - Building cross compilers for ${ARCHS} now."
echo "============================================================================="
for ARCH in ${ARCHS} ; do
- make crossgcc-$ARCH
+ make -j $NUM_CPU crossgcc-$ARCH
done
echo "============================================================================="
echo "$(date -u) - Building coreboot images now - first build run."
echo "============================================================================="
export TZ="/usr/share/zoneinfo/Etc/GMT+12"
+# prevent failing using more than one CPU
+sed -i 's#MAKE=$i#MAKE=make#' util/abuild/abuild
+# use all cores for first build
+sed -i "s#cpus=1#cpus=$NUM_CPU#" util/abuild/abuild
+# actually build everything
bash util/abuild/abuild || true
cd coreboot-builds
@@ -181,6 +187,9 @@ echo "==========================================================================
export TZ="/usr/share/zoneinfo/Etc/GMT-14"
export LANG="fr_CH.UTF-8"
export LC_ALL="fr_CH.UTF-8"
+# use allmost all cores for second build
+NEW_NUM_CPU=$(echo $NUM_CPU-1|bc)
+sed -i "s#cpus=$NUM_CPU#cpus=$NEW_NUM_CPU#" util/abuild/abuild
bash util/abuild/abuild || true
export LANG="en_GB.UTF-8"
@@ -209,22 +218,48 @@ echo "$(date -u) - Running $DBDVERSION on coreboot images now"
echo "============================================================================="
create_results_dirs
+# FIXME: should not update inplace but in $(mktemp)
PAGE=$BASE/coreboot/coreboot.html
-echo "<html><head></head><body><h1>Reproducible Coreboot</h2><p>This is work in progress - only TZ, LANG and LC_CTYPE variations yet and no fancy html.</p><pre>" > $PAGE
+cat > PAGE <<- EOF
+<!DOCTYPE html>
+<html lang="en-US">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width">
+ <title>coreboot</title>
+ <link rel='stylesheet' id='twentyfourteen-style-css' href='landing_style.css?ver=4.0' type='text/css' media='all' />
+ </head>
+ <body>
+ <div class="content">
+ <div class="page-content">
+ <p>&nbsp;</p>
+ <p><center><img src="coreboot.png" width="300" class="alignnone size-medium wp-image-6" alt="coreboot" height="231" /></center></p>
+ <blockquote>
+ <p><strong>coreboot&trade;</strong>: fast and flexible <em>and reproducible</em> Open Source firmware?</p>
+ <br />
+ </blockquote>
+EOF
+echo " <h1>Reproducible Coreboot</h2><p>This is work in progress - only TZ, LANG, LC_CTYPE variable and number of cores variations yet and no fancy html.</p><pre>" > $PAGE
echo -n $COREBOOT >> $PAGE
-echo "</pre><ul>" >> $PAGE
+echo " </pre><ul>" >> $PAGE
cd b1
for i in * ; do
call_debbindiff $i
if [ -f $TMPDIR/$i.html ] ; then
mv $TMPDIR/$i.html $BASE/coreboot/dbd/$i.html
- echo "<li><a href=\"dbd/$i.html\">$i debbindiff output</li>" >> $PAGE
+ echo " <li><a href=\"dbd/$i.html\">$i debbindiff output</li>" >> $PAGE
else
- echo "<li>$i had no debbindiff output - it's probably reproducible :)</li>" >> $PAGE
+ echo " <li>$i had no debbindiff output - it's probably reproducible :)</li>" >> $PAGE
fi
done
-echo "</ul></body></html>" >> $PAGE
+echo " </ul>" >> $PAGE
+cat >> PAGE <<- EOF
+ </div>
+ </div>
+ </body>
+</html>
+EOF
cd ..
echo "Enjoy $REPRODUCIBLE_URL/coreboot/coreboot.html"
diff --git a/userContent/reproducible/coreboot/coreboot.png b/userContent/reproducible/coreboot/coreboot.png
new file mode 100644
index 00000000..decba4c2
--- /dev/null
+++ b/userContent/reproducible/coreboot/coreboot.png
Binary files differ
diff --git a/userContent/reproducible/coreboot/landing_style.css b/userContent/reproducible/coreboot/landing_style.css
new file mode 100644
index 00000000..b12eab8d
--- /dev/null
+++ b/userContent/reproducible/coreboot/landing_style.css
@@ -0,0 +1,612 @@
+/*
+Theme Name: Twenty Fourteen
+Theme URI: http://wordpress.org/themes/twentyfourteen
+Author: the WordPress team
+Author URI: http://wordpress.org/
+Version: 1.2
+License: GNU General Public License v2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+
+This theme, like WordPress, is licensed under the GPL.
+Use it to make something cool, have fun, and share what you've learned with others.
+*/
+
+/**
+ * 1.0 Reset
+ *
+ * Resetting and rebuilding styles have been helped along thanks to the fine
+ * work of Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
+ * along with Nicolas Gallagher and Jonathan Neal
+ * http://necolas.github.com/normalize.css/ and Blueprint
+ * http://www.blueprintcss.org/
+ *
+ * -----------------------------------------------------------------------------
+ */
+
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
+ border: 0;
+ font-family: inherit;
+ font-size: 100%;
+ font-style: inherit;
+ font-weight: inherit;
+ margin: 0;
+ outline: 0;
+ padding: 0;
+ vertical-align: baseline;
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ max-width: 100%;
+}
+
+html {
+ overflow-y: scroll;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+
+body,
+button,
+input,
+select,
+textarea {
+ color: #2b2b2b;
+ font-family: Lato, sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.5;
+}
+
+body {
+ background: #ffffff;
+ xbackground: #f5f5f5;
+}
+
+a {
+ color: #24890d;
+ text-decoration: none;
+}
+
+a:focus {
+ outline: thin dotted;
+}
+
+a:hover,
+a:active {
+ outline: 0;
+}
+
+a:active,
+a:hover {
+ color: #41a62a;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ clear: both;
+ font-weight: 700;
+ margin: 36px 0 12px;
+}
+
+h1 {
+ font-size: 26px;
+ line-height: 1.3846153846;
+}
+
+h2 {
+ font-size: 24px;
+ line-height: 1;
+}
+
+h3 {
+ font-size: 22px;
+ line-height: 1.0909090909;
+}
+
+h4 {
+ font-size: 20px;
+ line-height: 1.2;
+}
+
+h5 {
+ font-size: 18px;
+ line-height: 1.3333333333;
+}
+
+h6 {
+ font-size: 16px;
+ line-height: 1.5;
+}
+
+address {
+ font-style: italic;
+ margin-bottom: 24px;
+}
+
+abbr[title] {
+ border-bottom: 1px dotted #2b2b2b;
+ cursor: help;
+}
+
+b,
+strong {
+ font-weight: 700;
+}
+
+cite,
+dfn,
+em,
+i {
+ font-style: italic;
+}
+
+mark,
+ins {
+ background: #fff9c0;
+ text-decoration: none;
+}
+
+p {
+ margin-bottom: 24px;
+}
+
+code,
+kbd,
+tt,
+var,
+samp,
+pre {
+ font-family: monospace, serif;
+ font-size: 15px;
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+ line-height: 1.6;
+}
+
+pre {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin-bottom: 24px;
+ max-width: 100%;
+ overflow: auto;
+ padding: 12px;
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+blockquote,
+q {
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+ quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+ content: "";
+ content: none;
+}
+
+blockquote {
+ color: #767676;
+ font-size: 19px;
+ font-style: italic;
+ font-weight: 300;
+ line-height: 1.2631578947;
+ margin-bottom: 24px;
+}
+
+blockquote cite,
+blockquote small {
+ color: #2b2b2b;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.5;
+}
+
+blockquote em,
+blockquote i,
+blockquote cite {
+ font-style: normal;
+}
+
+blockquote strong,
+blockquote b {
+ font-weight: 400;
+}
+
+small {
+ font-size: smaller;
+}
+
+big {
+ font-size: 125%;
+}
+
+sup,
+sub {
+ font-size: 75%;
+ height: 0;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ bottom: 1ex;
+}
+
+sub {
+ top: .5ex;
+}
+
+dl {
+ margin-bottom: 24px;
+}
+
+dt {
+ font-weight: bold;
+}
+
+dd {
+ margin-bottom: 24px;
+}
+
+ul,
+ol {
+ list-style: none;
+ margin: 0 0 24px 20px;
+}
+
+ul {
+ list-style: disc;
+}
+
+ol {
+ list-style: decimal;
+}
+
+li > ul,
+li > ol {
+ margin: 0 0 0 20px;
+}
+
+img {
+ -ms-interpolation-mode: bicubic;
+ border: 0;
+ vertical-align: middle;
+}
+
+figure {
+ margin: 0;
+}
+
+fieldset {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ margin: 0 0 24px;
+ padding: 11px 12px 0;
+}
+
+legend {
+ white-space: normal;
+}
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+}
+
+table,
+th,
+td {
+ border: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+ border-width: 1px 0 0 1px;
+ margin-bottom: 24px;
+ width: 100%;
+}
+
+caption,
+th,
+td {
+ font-weight: normal;
+ text-align: left;
+}
+
+th {
+ border-width: 0 1px 1px 0;
+ font-weight: bold;
+}
+
+td {
+ border-width: 0 1px 1px 0;
+}
+
+del {
+ color: #767676;
+}
+
+hr {
+ background-color: rgba(0, 0, 0, 0.1);
+ border: 0;
+ height: 1px;
+ margin-bottom: 23px;
+}
+
+/* Support a widely-adopted but non-standard selector for text selection styles
+ * to achieve a better experience. See http://core.trac.wordpress.org/ticket/25898.
+ */
+::selection {
+ background: #24890d;
+ color: #fff;
+ text-shadow: none;
+}
+
+::-moz-selection {
+ background: #24890d;
+ color: #fff;
+ text-shadow: none;
+}
+
+
+/* Alignment */
+
+.alignleft {
+ float: left;
+}
+
+.alignright {
+ float: right;
+}
+
+.aligncenter {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+blockquote.alignleft,
+figure.wp-caption.alignleft,
+img.alignleft {
+ margin: 7px 24px 7px 0;
+}
+
+.wp-caption.alignleft {
+ margin: 7px 14px 7px 0;
+}
+
+blockquote.alignright,
+figure.wp-caption.alignright,
+img.alignright {
+ margin: 7px 0 7px 24px;
+}
+
+.wp-caption.alignright {
+ margin: 7px 0 7px 14px;
+}
+
+blockquote.aligncenter,
+img.aligncenter,
+.wp-caption.aligncenter {
+ margin-top: 7px;
+ margin-bottom: 7px;
+}
+
+.site-content blockquote.alignleft,
+.site-content blockquote.alignright {
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ padding-top: 17px;
+ width: 50%;
+}
+
+.site-content blockquote.alignleft p,
+.site-content blockquote.alignright p {
+ margin-bottom: 17px;
+}
+
+/**
+ * 6.0 Content
+ * -----------------------------------------------------------------------------
+ */
+
+.content-area {
+ padding-top: 48px;
+}
+
+.hentry {
+ margin: 0 auto 48px;
+ max-width: 672px;
+}
+
+.site-content .entry-header,
+.site-content .entry-content,
+.site-content .entry-summary,
+.site-content .entry-meta,
+.page-content {
+ margin: 0 auto;
+ max-width: 550px;
+}
+
+.page-content {
+ margin-bottom: 48px;
+}
+
+
+/**
+ * 6.4 Entry Content
+ * -----------------------------------------------------------------------------
+ */
+
+.entry-content,
+.entry-summary,
+.page-content {
+ -webkit-hyphens: auto;
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ hyphens: auto;
+ word-wrap: break-word;
+}
+
+.site-content .entry-content,
+.site-content .entry-summary,
+.page-content {
+ background-color: #fff;
+ padding: 12px 10px 0;
+}
+
+.page .entry-content {
+ padding-top: 0;
+}
+
+.entry-content h1:first-child,
+.entry-content h2:first-child,
+.entry-content h3:first-child,
+.entry-content h4:first-child,
+.entry-content h5:first-child,
+.entry-content h6:first-child,
+.entry-summary h1:first-child,
+.entry-summary h2:first-child,
+.entry-summary h3:first-child,
+.entry-summary h4:first-child,
+.entry-summary h5:first-child,
+.entry-summary h6:first-child,
+.page-content h1:first-child,
+.page-content h2:first-child,
+.page-content h3:first-child,
+.page-content h4:first-child,
+.page-content h5:first-child,
+.page-content h6:first-child {
+ margin-top: 0;
+}
+
+.entry-content a,
+.entry-summary a,
+.page-content a,
+.comment-content a {
+ text-decoration: underline;
+}
+
+.entry-content a:hover,
+.entry-summary a:hover,
+.page-content a:hover,
+.comment-content a:hover,
+.entry-content a.button,
+.entry-summary a.button,
+.page-content a.button,
+.comment-content a.button {
+ text-decoration: none;
+}
+
+.entry-content table,
+.comment-content table {
+ font-size: 14px;
+ line-height: 1.2857142857;
+ margin-bottom: 24px;
+}
+
+.entry-content th,
+.comment-content th {
+ font-weight: 700;
+ padding: 8px;
+ text-transform: uppercase;
+}
+
+.entry-content td,
+.comment-content td {
+ padding: 8px;
+}
+
+.entry-content .edit-link {
+ clear: both;
+ display: block;
+ font-size: 12px;
+ font-weight: 400;
+ line-height: 1.3333333333;
+ text-transform: uppercase;
+}
+
+.entry-content .edit-link a {
+ color: #767676;
+ text-decoration: none;
+}
+
+.entry-content .edit-link a:hover {
+ color: #41a62a;
+}
+
+/* Page links */
+
+.page-links {
+ clear: both;
+ font-size: 12px;
+ font-weight: 900;
+ line-height: 2;
+ margin: 24px 0;
+ text-transform: uppercase;
+}
+
+.page-links a,
+.page-links > span {
+ background: #fff;
+ border: 1px solid #fff;
+ display: inline-block;
+ height: 22px;
+ margin: 0 1px 2px 0;
+ text-align: center;
+ width: 22px;
+}
+
+.page-links a {
+ background: #000;
+ border: 1px solid #000;
+ color: #fff;
+ text-decoration: none;
+}
+
+.page-links a:hover {
+ background: #41a62a;
+ border: 1px solid #41a62a;
+ color: #fff;
+}
+
+.page-links > .page-links-title {
+ height: auto;
+ margin: 0;
+ padding-right: 7px;
+ width: auto;
+}
+