diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-02-16 14:56:13 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-02-16 19:10:26 +0100 |
commit | 1afdbaad1af3376b64cf7e9f7264db8da7070046 (patch) | |
tree | aa93f3230e5df5ca20337b945424419068b74248 | |
parent | 2bb805e2e07a7d3e1268a09d720ecd13e26af418 (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-- | Makefile | 9 | ||||
-rwxr-xr-x | resources/scripts/build/release/u-boot-libre | 8 | ||||
-rwxr-xr-x | tests/u-boot-libre | 29 | ||||
-rw-r--r-- | tests/u-boot-libre.sha512 | 3 |
4 files changed, 45 insertions, 4 deletions
@@ -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 |