summaryrefslogtreecommitdiff
path: root/libre-testing/uboot4extlinux-sunxi/u-boot-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre-testing/uboot4extlinux-sunxi/u-boot-libre')
-rw-r--r--libre-testing/uboot4extlinux-sunxi/u-boot-libre76
1 files changed, 76 insertions, 0 deletions
diff --git a/libre-testing/uboot4extlinux-sunxi/u-boot-libre b/libre-testing/uboot4extlinux-sunxi/u-boot-libre
new file mode 100644
index 000000000..d63a421d4
--- /dev/null
+++ b/libre-testing/uboot4extlinux-sunxi/u-boot-libre
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+#
+# helper script: generate deblobbed stable u-boot source code releases
+#
+# Copyright (C) 2020,2021 Leah Rowe <info@minifree.org>
+# 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
+
+version="v2022.04"
+revision="r1"
+
+printf "Building source code archive, version %s revision %s\n" "${version}" "${revision}"
+
+cd "${topdir}"
+if [[ -x "${topdir}/download" ]]
+then
+ topdir="$(realpath $(dirname $(realpath $0))/../../../../)"
+ download_dir=u-boot/u-boot
+ tmpdir="${topdir}/release/u-boot-libre"
+ download=( "${topdir}/download" u-boot )
+ bloblist="resources/u-boot/default/blobs.list"
+elif [[ -x ./u-boot-download.sh ]]
+then
+ topdir="$(realpath $(dirname $(realpath $0)))"
+ download_dir=${topdir}
+ tmpdir=${topdir}
+ download=( ${topdir}/u-boot-download.sh )
+ bloblist="${topdir}/blobs.list"
+else
+ exit 1
+fi
+"${download[@]}" "${version}" "${download_dir}" "${bloblist}"
+
+release="u-boot-libre-${version/v/}-${revision}"
+tarball="${tmpdir}/${release}.tar"
+
+rm -rf \
+ "${tmpdir}/" \
+ "${tarball}" \
+ "${tarball}.lz" \
+ "${tarball}.xz"
+
+mkdir -p "${tmpdir}"
+cp -R "${download_dir}/" "${tmpdir}/${release}"
+
+rm -rf ${tmpdir}/.git ${tmpdir}/${release}/.gitignore
+make -C ${tmpdir} distclean
+
+prefix="$(sed 's#^/*##' <<<${tmpdir})/"
+tar cf "${tarball}" "${tmpdir}/${release}" --transform="s#${prefix}##"
+lzip -9 --keep -vv "${tarball}"
+xz -9 --keep -vv "${tarball}"
+
+rm -rf "${tmpdir}/${release}/"
+
+printf "Source code archives available at:\n\t%s\n\t%s\n\t%s\n" \
+ "${tarball}" \
+ "${tarball}.lz" \
+ "${tarball}.xz"