summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2022-02-16 14:56:13 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2022-02-16 19:10:26 +0100
commit1afdbaad1af3376b64cf7e9f7264db8da7070046 (patch)
treeaa93f3230e5df5ca20337b945424419068b74248
parent2bb805e2e07a7d3e1268a09d720ecd13e26af418 (diff)
u-boot-libre: Add reproducible builds and tests
The tar options come from the tutorial to remove archives metadata at reproducible-builds.org[1]. [1]https://reproducible-builds.org/docs/archives/ Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r--Makefile9
-rwxr-xr-xresources/scripts/build/release/u-boot-libre8
-rwxr-xr-xtests/u-boot-libre29
-rw-r--r--tests/u-boot-libre.sha5123
4 files changed, 45 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 5749c974..2fcb7553 100644
--- a/Makefile
+++ b/Makefile
@@ -20,9 +20,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-.PHONY: all download modules ich9m-descriptors payloads roms release clean \
- crossgcc-clean install-dependencies-ubuntu install-dependencies-debian \
- install-dependencies-arch install-dependencies-void
+.PHONY: all check download modules ich9m-descriptors payloads roms release \
+ clean crossgcc-clean install-dependencies-ubuntu \
+ install-dependencies-debian install-dependencies-arch \
+ install-dependencies-void
all: roms
@@ -69,3 +70,5 @@ install-dependencies-arch:
install-dependencies-void:
./build dependencies void
+check:
+ ./tests/u-boot-libre
diff --git a/resources/scripts/build/release/u-boot-libre b/resources/scripts/build/release/u-boot-libre
index 97a97628..0f492421 100755
--- a/resources/scripts/build/release/u-boot-libre
+++ b/resources/scripts/build/release/u-boot-libre
@@ -48,7 +48,13 @@ rm -rf ${tmpdir}/.git ${tmpdir}/.gitignore
make -C ${tmpdir} distclean
prefix="$(dirname ${tmpdir} | sed 's#^/*##')/"
-tar cf "${tarball}" "${tmpdir}" --transform="s#${prefix}##"
+tar cf "${tarball}" "${tmpdir}" \
+ --transform="s#${prefix}##" \
+ --format=gnu \
+ --sort=name \
+ --owner=0 --group=0 --numeric-owner \
+ --mtime="1970-01-01" \
+
lzip -9 --keep -vv "${tarball}"
xz -9 --keep -vv "${tarball}"
diff --git a/tests/u-boot-libre b/tests/u-boot-libre
new file mode 100755
index 00000000..de234024
--- /dev/null
+++ b/tests/u-boot-libre
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+#
+# tests for resources/scripts/build/release/u-boot-stable-src-release
+#
+# Copyright (C) 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+topdir="$(realpath $(dirname $(realpath $0))/../)"
+progname="$(basename $(realpath $0))"
+
+"${topdir}/resources/scripts/build/release/u-boot-libre"
+sha512sum -c "${topdir}/tests/${progname}.sha512"
diff --git a/tests/u-boot-libre.sha512 b/tests/u-boot-libre.sha512
new file mode 100644
index 00000000..2254c000
--- /dev/null
+++ b/tests/u-boot-libre.sha512
@@ -0,0 +1,3 @@
+1684a70273e177cdc4f94da7214198cde5e86bebf76ff29a8e7a7ed8c2470bd392eb4b1ec7eda55ee95335e76123dc28429e90b2015453734f07c28f83358bf2 release/u-boot-libre/2021.07-r1/u-boot-libre-2021.07-r1.tar
+3e26aa796759dd5af01795963cc35b1ae9c9e93844c73f22a4881bae30e98f68f8d1695983da76ab5fb8aa9785b0c37d3b8a1186ed5d64b11758a4ae2b146e2c release/u-boot-libre/2021.07-r1/u-boot-libre-2021.07-r1.tar.lz
+d6bbd0c311fa7d73a018d2195618a9cff9984502624e83097e94c310557eb47da85f43a9e06bb3bc15828b050d9af0799fbaa828aff0a73e7f0592cccc4a2f47 release/u-boot-libre/2021.07-r1/u-boot-libre-2021.07-r1.tar.xz