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>
This commit is contained in:
Denis 'GNUtoo' Carikli 2022-02-16 14:56:13 +01:00
parent 2bb805e2e0
commit 1afdbaad1a
Signed by: GNUtoo
GPG Key ID: 5F5DFCC14177E263
4 changed files with 45 additions and 4 deletions

View File

@ -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

View File

@ -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}"

29
tests/u-boot-libre Executable file
View File

@ -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"

View File

@ -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