diff --git a/Makefile b/Makefile
index 5749c97..2fcb755 100644
--- a/Makefile
+++ b/Makefile
@@ -20,9 +20,10 @@
# along with this program. If not, see .
#
-.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 97a9762..0f49242 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 0000000..de23402
--- /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
+#
+# 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 .
+#
+
+[ "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 0000000..2254c00
--- /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