Merge branch 'master' of GNUtoo/lbmk into master
This commit is contained in:
commit
fd41399961
9
Makefile
9
Makefile
|
@ -20,9 +20,10 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
.PHONY: all download modules ich9m-descriptors payloads roms release clean \
|
.PHONY: all check download modules ich9m-descriptors payloads roms release \
|
||||||
crossgcc-clean install-dependencies-ubuntu install-dependencies-debian \
|
clean crossgcc-clean install-dependencies-ubuntu \
|
||||||
install-dependencies-arch install-dependencies-void
|
install-dependencies-debian install-dependencies-arch \
|
||||||
|
install-dependencies-void
|
||||||
|
|
||||||
all: roms
|
all: roms
|
||||||
|
|
||||||
|
@ -69,3 +70,5 @@ install-dependencies-arch:
|
||||||
|
|
||||||
install-dependencies-void:
|
install-dependencies-void:
|
||||||
./build dependencies void
|
./build dependencies void
|
||||||
|
check:
|
||||||
|
./tests/u-boot-libre
|
||||||
|
|
3
download
3
download
|
@ -60,6 +60,9 @@ help() {
|
||||||
coreboot trees by default, but './download coreboot x60' will only download
|
coreboot trees by default, but './download coreboot x60' will only download
|
||||||
the coreboot tree required for the target: x60
|
the coreboot tree required for the target: x60
|
||||||
|
|
||||||
|
Each program download script should also accept the --help paramater to
|
||||||
|
display the usage of the script.
|
||||||
|
|
||||||
Refer to the documentation for more information.
|
Refer to the documentation for more information.
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,217 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
revision="r1"
|
||||||
|
|
||||||
|
supported_uboot_versions=" \
|
||||||
|
2021.07 \
|
||||||
|
"
|
||||||
|
|
||||||
|
topdir="$(realpath $(dirname $(realpath $0))/../../../../)"
|
||||||
|
uboot_release_topdir="${topdir}/release/u-boot-libre"
|
||||||
|
|
||||||
|
release_files=""
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="resources/scripts/build/release/u-boot-libre"
|
||||||
|
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Release deblobbed u-boot tarballs for all supported versions"
|
||||||
|
printf "\t%s [version] # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Release deblobbed u-boot tarballs for the given versions"
|
||||||
|
printf "\t%s --list-versions # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"List supported u-boot versions"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
append_release_file()
|
||||||
|
{
|
||||||
|
if [ -z "${release_files}" ] ; then
|
||||||
|
release_files="${release_files}$1"
|
||||||
|
else
|
||||||
|
release_files="${release_files} $1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
append_release_files()
|
||||||
|
{
|
||||||
|
for file in "$@" ; do
|
||||||
|
append_release_file "${file}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
print_release_files()
|
||||||
|
{
|
||||||
|
version="$1"
|
||||||
|
printf "Source code archives for u-boot-libre-%s-%s available at:\n" \
|
||||||
|
"${version}" "${revision}"
|
||||||
|
|
||||||
|
for file in ${release_files} ; do
|
||||||
|
printf "\t${file}\n"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
release_deblobbed_uboot()
|
||||||
|
{
|
||||||
|
version="$1"
|
||||||
|
|
||||||
|
release_version_dir="${uboot_release_topdir}/${version}-${revision}"
|
||||||
|
tmpdir="${release_version_dir}/u-boot-libre-${version}-${revision}"
|
||||||
|
tarball="${tmpdir}.tar"
|
||||||
|
|
||||||
|
printf "Building source code archive, version %s revision %s\n" \
|
||||||
|
"${version}" "${revision}"
|
||||||
|
|
||||||
|
cd "${topdir}"
|
||||||
|
"${topdir}/download" u-boot "v${version}"
|
||||||
|
|
||||||
|
rm -rf \
|
||||||
|
"${tmpdir}/" \
|
||||||
|
"${tarball}" \
|
||||||
|
"${tarball}.lz" \
|
||||||
|
"${tarball}.xz"
|
||||||
|
|
||||||
|
mkdir -p "$(dirname ${tmpdir})"
|
||||||
|
cp -R "u-boot/u-boot/" "${tmpdir}"
|
||||||
|
|
||||||
|
rm -rf ${tmpdir}/.git ${tmpdir}/.gitignore
|
||||||
|
make -C ${tmpdir} distclean
|
||||||
|
|
||||||
|
prefix="$(dirname ${tmpdir} | sed 's#^/*##')/"
|
||||||
|
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}"
|
||||||
|
|
||||||
|
rm -rf "${tmpdir}/"
|
||||||
|
|
||||||
|
append_release_files \
|
||||||
|
"${tarball}" \
|
||||||
|
"${tarball}.lz" \
|
||||||
|
"${tarball}.xz"
|
||||||
|
}
|
||||||
|
|
||||||
|
release_uboot_blobs_list()
|
||||||
|
{
|
||||||
|
version="$1"
|
||||||
|
|
||||||
|
blobs_list="$(${topdir}/download u-boot --blobs-list v${version})"
|
||||||
|
|
||||||
|
release_version_dir="${uboot_release_topdir}/${version}-${revision}"
|
||||||
|
destination="${release_version_dir}/blobs-${version}-${revision}.list"
|
||||||
|
|
||||||
|
cd "${topdir}"
|
||||||
|
|
||||||
|
rm -rf \
|
||||||
|
"${destination}" \
|
||||||
|
"${destination}.lz" \
|
||||||
|
"${destination}.xz"
|
||||||
|
|
||||||
|
install -m 755 -d "${release_version_dir}"
|
||||||
|
install -m 644 -T "${blobs_list}" "${destination}"
|
||||||
|
|
||||||
|
lzip -9 --keep -vv "${destination}"
|
||||||
|
xz -9 --keep -vv "${destination}"
|
||||||
|
|
||||||
|
append_release_files \
|
||||||
|
"${destination}" \
|
||||||
|
"${destination}.lz" \
|
||||||
|
"${destination}.xz"
|
||||||
|
}
|
||||||
|
|
||||||
|
release_uboot_deblob_script()
|
||||||
|
{
|
||||||
|
version="$1"
|
||||||
|
|
||||||
|
deblob_script="$(${topdir}/download u-boot --gen-deblob-script v${version})"
|
||||||
|
|
||||||
|
release_version_dir="${uboot_release_topdir}/${version}-${revision}"
|
||||||
|
destination="${release_version_dir}/deblob-${version}-${revision}.sh"
|
||||||
|
|
||||||
|
cd "${topdir}"
|
||||||
|
|
||||||
|
rm -rf \
|
||||||
|
"${destination}" \
|
||||||
|
"${destination}.lz" \
|
||||||
|
"${destination}.xz"
|
||||||
|
|
||||||
|
install -m 755 -d "${release_version_dir}"
|
||||||
|
install -m 644 -T "${blobs_list}" "${destination}"
|
||||||
|
|
||||||
|
lzip -9 --keep -vv "${destination}"
|
||||||
|
xz -9 --keep -vv "${destination}"
|
||||||
|
|
||||||
|
append_release_files \
|
||||||
|
"${destination}" \
|
||||||
|
"${destination}.lz" \
|
||||||
|
"${destination}.xz"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ] ; then
|
||||||
|
for version in ${supported_uboot_versions} ; do
|
||||||
|
release_deblobbed_uboot "${version}"
|
||||||
|
release_uboot_blobs_list "${version}"
|
||||||
|
release_uboot_deblob_script "${version}"
|
||||||
|
print_release_files "${version}"
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--help" ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--list-versions" ] ; then
|
||||||
|
for version in ${supported_uboot_versions} ; do
|
||||||
|
printf "${version}\n"
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 ] ; then
|
||||||
|
found=0
|
||||||
|
for revision in ${supported_uboot_revisions} ; do
|
||||||
|
if [ "${revision}" = "$1" ] ; then
|
||||||
|
release_deblobbed_uboot "$1"
|
||||||
|
release_uboot_blobs_list "$1"
|
||||||
|
release_uboot_deblob_script "$1"
|
||||||
|
print_release_files "$1"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "Error: Version '${1}' is not supported\n"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
|
@ -1,60 +0,0 @@
|
||||||
#!/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="v2021.07"
|
|
||||||
revision="r1"
|
|
||||||
|
|
||||||
topdir="$(realpath $(dirname $(realpath $0))/../../../../)"
|
|
||||||
tmpdir="${topdir}/release/u-boot/u-boot-${version}-${revision}"
|
|
||||||
tarball="${tmpdir}.tar"
|
|
||||||
|
|
||||||
printf "Building source code archive, version %s revision %s\n" "${version}" "${revision}"
|
|
||||||
|
|
||||||
cd "${topdir}"
|
|
||||||
"${topdir}/download" u-boot
|
|
||||||
|
|
||||||
rm -rf \
|
|
||||||
"${tmpdir}/" \
|
|
||||||
"${tarball}" \
|
|
||||||
"${tarball}.lz" \
|
|
||||||
"${tarball}.xz"
|
|
||||||
|
|
||||||
mkdir -p "$(dirname ${tmpdir})"
|
|
||||||
cp -R "u-boot/u-boot/" "${tmpdir}"
|
|
||||||
|
|
||||||
rm -rf ${tmpdir}/.git ${tmpdir}/.gitignore
|
|
||||||
make -C ${tmpdir} distclean
|
|
||||||
|
|
||||||
prefix="$(dirname ${tmpdir} | sed 's#^/*##')/"
|
|
||||||
tar cf "${tarball}" "${tmpdir}" --transform="s#${prefix}##"
|
|
||||||
lzip -9 --keep -vv "${tarball}"
|
|
||||||
xz -9 --keep -vv "${tarball}"
|
|
||||||
|
|
||||||
rm -rf "${tmpdir}/"
|
|
||||||
|
|
||||||
printf "Source code archives available at:\n\t%s\n\t%s\n\t%s\n" \
|
|
||||||
"${tarball}" \
|
|
||||||
"${tarball}.lz" \
|
|
||||||
"${tarball}.xz"
|
|
|
@ -21,6 +21,42 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
list_supported_boards()
|
||||||
|
{
|
||||||
|
for board in resources/coreboot/*; do
|
||||||
|
echo $board | sed 's#resources/coreboot/##'
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download coreboot"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download and deblob Coreboot for all the boards"
|
||||||
|
printf "\t%s [board [board] ...] # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download and deblob Coreboot for the given boards"
|
||||||
|
printf "\t%s --list-boards # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"List supported boards"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 1 -a "$1" == "--help" ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--list-boards" ] ; then
|
||||||
|
list_supported_boards
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# set this when you want to modify each coreboot tree
|
# set this when you want to modify each coreboot tree
|
||||||
# for example, you want to test custom patches
|
# for example, you want to test custom patches
|
||||||
# NODELETE= ./download coreboot
|
# NODELETE= ./download coreboot
|
||||||
|
|
|
@ -21,6 +21,23 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download flashrom"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download flashrom"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 0 ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Get flashrom at the last previously tested revision
|
# Get flashrom at the last previously tested revision
|
||||||
|
|
||||||
# Remove the old version that may still exist:
|
# Remove the old version that may still exist:
|
||||||
|
|
|
@ -21,6 +21,23 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download grub"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download GRUB"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 0 ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove the old version that may still exist
|
# Remove the old version that may still exist
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,23 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download ich9utils"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download ich9utils"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 0 ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
printf "Downloading ich9utils\n"
|
printf "Downloading ich9utils\n"
|
||||||
|
|
||||||
if [ -d ich9utils ]; then
|
if [ -d ich9utils ]; then
|
||||||
|
|
|
@ -23,6 +23,23 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download memtest86plus"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download MemTest86+"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 0 ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Get the last version of MemTest86+ used, apply patches, build it.
|
# Get the last version of MemTest86+ used, apply patches, build it.
|
||||||
|
|
||||||
# Remove the old version that may exist
|
# Remove the old version that may exist
|
||||||
|
|
|
@ -19,6 +19,23 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname="./download seabios"
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download SeaBIOS"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 0 ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Get SeaBIOS, revert to commit last used and apply patches.
|
# Get SeaBIOS, revert to commit last used and apply patches.
|
||||||
|
|
||||||
# Remove the old version that may still exist
|
# Remove the old version that may still exist
|
||||||
|
|
|
@ -32,6 +32,12 @@ deleteblobs="true"
|
||||||
# This script handles the internet, and Git. Both are inherently unreliable.
|
# This script handles the internet, and Git. Both are inherently unreliable.
|
||||||
[[ -f build_error ]] && rm -f build_error
|
[[ -f build_error ]] && rm -f build_error
|
||||||
|
|
||||||
|
# Make sure that older revision are first as code uses that order to
|
||||||
|
# find the latest supported revision.
|
||||||
|
supported_uboot_revisions=" \
|
||||||
|
v2021.07 \
|
||||||
|
"
|
||||||
|
|
||||||
downloadfor() {
|
downloadfor() {
|
||||||
uboot_revision="v2021.07"
|
uboot_revision="v2021.07"
|
||||||
uboot_dir="u-boot/u-boot"
|
uboot_dir="u-boot/u-boot"
|
||||||
|
@ -59,7 +65,7 @@ downloadfor() {
|
||||||
|
|
||||||
if [ ! -d "${uboot_dir}" ]; then
|
if [ ! -d "${uboot_dir}" ]; then
|
||||||
printf "Download u-boot from upstream:\n"
|
printf "Download u-boot from upstream:\n"
|
||||||
git clone https://source.denx.de/u-boot/u-boot \
|
git clone https://source.denx.de/u-boot/u-boot.git \
|
||||||
"${uboot_dir}" || \
|
"${uboot_dir}" || \
|
||||||
rm -Rf "${uboot_dir}"
|
rm -Rf "${uboot_dir}"
|
||||||
if [ ! -d "${uboot_dir}" ]; then
|
if [ ! -d "${uboot_dir}" ]; then
|
||||||
|
@ -99,17 +105,103 @@ strip_comments()
|
||||||
sed '/^$/d'
|
sed '/^$/d'
|
||||||
}
|
}
|
||||||
|
|
||||||
printf "Downloading u-boot and (if exist in build system) applying patches\n"
|
generate_deblob_script()
|
||||||
downloadfor
|
{
|
||||||
|
blob_list_file="$1"
|
||||||
|
output="$2"
|
||||||
|
|
||||||
rm -f "build_error"
|
# Add sheebang and copyright headers from this file
|
||||||
printf "\n\n"
|
awk '{
|
||||||
|
if ($0 !~ /^#/ && NF > 0) {
|
||||||
|
stop=1;
|
||||||
|
}
|
||||||
|
if (stop !=1) {
|
||||||
|
printf("%s\n", $0);
|
||||||
|
}
|
||||||
|
}' $0 >> ${output}
|
||||||
|
|
||||||
if [ "${deleteblobs}" = "true" ]; then
|
# Add rm -rf before directories and rm -f before files
|
||||||
bloblist="resources/u-boot/default/blobs.list"
|
awk \
|
||||||
|
'{
|
||||||
|
}{
|
||||||
|
if (NF == 0) {
|
||||||
|
printf("\n");
|
||||||
|
} else {
|
||||||
|
if ($0 !~ /#/ && $NF ~ /\/$/) {
|
||||||
|
printf("rm -rf %s\n", $0);
|
||||||
|
} else if ($0 !~ /#/) {
|
||||||
|
printf("rm -f %s\n", $0);
|
||||||
|
} else {
|
||||||
|
# We have comments, try to see if they are
|
||||||
|
# still valid paths before the comments
|
||||||
|
comments_found=0
|
||||||
|
last_field=0
|
||||||
|
for(i=1; i<=NF; i++) {
|
||||||
|
if($i ~ /#/) {
|
||||||
|
comments_found=1;
|
||||||
|
} else if(comments_found != 1) {
|
||||||
|
last_field=i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (last_field == 0) {
|
||||||
|
printf("%s\n", $0);
|
||||||
|
} else if ($last_field ~ /\/$/) {
|
||||||
|
printf("rm -rf %s\n", $0);
|
||||||
|
} else {
|
||||||
|
printf("rm -f %s\n", $0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' "${blob_list_file}" >> "${output}"
|
||||||
|
}
|
||||||
|
|
||||||
for blob_path in $(strip_comments "${bloblist}"); do
|
usage()
|
||||||
if echo "${blob_path}" | grep '/$' 2>&1 >/dev/null ; then
|
{
|
||||||
|
progname="./download u-boot"
|
||||||
|
|
||||||
|
printf "Usage:\n"
|
||||||
|
printf "\t%s # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download latest u-boot git revision and deblob it"
|
||||||
|
printf "\t%s [revision] # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Download given u-boot git revision and deblob it"
|
||||||
|
printf "\t%s --blobs-list # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Print the path of the blobs.list file for the latest supported u-boot revision"
|
||||||
|
printf "\t%s --blobs-list [revision] # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Print the path of the blobs.list file for the given u-boot revision"
|
||||||
|
printf "\t%s --gen-deblob-script # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Print the path of the generated deblob script for the latest supported u-boot revision"
|
||||||
|
printf "\t%s --gen-deblob-script [revision] # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Print the path of the generated deblob script for the given u-boot revision"
|
||||||
|
printf "\t%s --list-revisions # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"List supported u-boot revisions"
|
||||||
|
printf "\t%s --help # %s\n" \
|
||||||
|
"${progname}" \
|
||||||
|
"Prints this help"
|
||||||
|
}
|
||||||
|
|
||||||
|
download_uboot_revision()
|
||||||
|
{
|
||||||
|
git_revision="$1"
|
||||||
|
|
||||||
|
printf "Downloading u-boot "
|
||||||
|
printf "and (if exist in build system) applying patches\n"
|
||||||
|
downloadfor "${git_revision}"
|
||||||
|
|
||||||
|
rm -f "build_error"
|
||||||
|
printf "\n\n"
|
||||||
|
|
||||||
|
if [ "${deleteblobs}" = "true" ]; then
|
||||||
|
blobslist="resources/u-boot/default/blobs.list"
|
||||||
|
for blob_path in $(strip_comments "${blobslist}"); do
|
||||||
|
if echo "${blob_path}" | \
|
||||||
|
grep '/$' 2>&1 >/dev/null ; then
|
||||||
printf "Deleting blob directory: '%s/%s'\n" \
|
printf "Deleting blob directory: '%s/%s'\n" \
|
||||||
"${uboot_dir}" "${blob_path}"
|
"${uboot_dir}" "${blob_path}"
|
||||||
rm -rf "${uboot_dir}/${blob_path}"
|
rm -rf "${uboot_dir}/${blob_path}"
|
||||||
|
@ -119,5 +211,79 @@ if [ "${deleteblobs}" = "true" ]; then
|
||||||
rm -f "${uboot_dir}/${blob_path}"
|
rm -f "${uboot_dir}/${blob_path}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
print_blobs_list_path()
|
||||||
|
{
|
||||||
|
printf "resources/u-boot/default/blobs.list\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_deblob_script_path()
|
||||||
|
{
|
||||||
|
version="$1"
|
||||||
|
path="$(mktemp)"
|
||||||
|
|
||||||
|
generate_deblob_script "$(print_blobs_list_path ${version})" "${path}"
|
||||||
|
printf "%s\n" ${path}
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ] ; then
|
||||||
|
latest_revision="$(echo ${supported_uboot_revisions} | tail -n1)"
|
||||||
|
download_uboot_revision "${latest_revision}"
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--help" ] ; then
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--list-revisions" ] ; then
|
||||||
|
for revision in ${supported_uboot_revisions} ; do
|
||||||
|
printf "${revision}\n"
|
||||||
|
done
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--blobs-list" ] ; then
|
||||||
|
latest_revision="$(echo ${supported_uboot_revisions} | tail -n1)"
|
||||||
|
print_blobs_list_path "${latest_revision}"
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 2 -a "$1" == "--blobs-list" ] ; then
|
||||||
|
found=0
|
||||||
|
for revision in ${supported_uboot_revisions} ; do
|
||||||
|
if [ "${revision}" = "$2" ] ; then
|
||||||
|
print_blobs_list_path "$2"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "Error: Revision '${1}' is not supported\n"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
elif [ $# -eq 1 -a "$1" == "--gen-deblob-script" ] ; then
|
||||||
|
latest_revision="$(echo ${supported_uboot_revisions} | tail -n1)"
|
||||||
|
print_deblob_script_path "${latest_revision}"
|
||||||
|
exit 0
|
||||||
|
elif [ $# -eq 2 -a "$1" == "--gen-deblob-script" ] ; then
|
||||||
|
found=0
|
||||||
|
for revision in ${supported_uboot_revisions} ; do
|
||||||
|
if [ "${revision}" = "$2" ] ; then
|
||||||
|
print_deblob_script_path "$2"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "Error: Revision '${1}' is not supported\n"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
elif [ $# -eq 1 ] ; then
|
||||||
|
found=0
|
||||||
|
for revision in ${supported_uboot_revisions} ; do
|
||||||
|
if [ "${revision}" = "$1" ] ; then
|
||||||
|
download_uboot_revision "$1"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "Error: Revision '${1}' is not supported\n"
|
||||||
|
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -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"
|
|
@ -0,0 +1,9 @@
|
||||||
|
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
|
||||||
|
007968618d182bb26eb13f25720a06f28a59b0a67e5b0e66ae2f7c1246c82139091606e61f780d60496866b31cb037a5a41f207d1b00e293280bcfc17cba8317 release/u-boot-libre/2021.07-r1/blobs-2021.07-r1.list
|
||||||
|
cc338a69266cc94d3a283a2f0e14660a649573eaf70f11254db00c190a85da5892f9ca78d2d44633d46f90c857297b954ba41d3d9e076a94433326a161f73b61 release/u-boot-libre/2021.07-r1/blobs-2021.07-r1.list.lz
|
||||||
|
174726b4505a9af850fb15cbfba73c6ea2eeb669352f37e577f37c225c8407f8c0da63f43d0d2285fdd6123fab4ac59233c8bd01bc863ba0e338c8469df10c1c release/u-boot-libre/2021.07-r1/blobs-2021.07-r1.list.xz
|
||||||
|
007968618d182bb26eb13f25720a06f28a59b0a67e5b0e66ae2f7c1246c82139091606e61f780d60496866b31cb037a5a41f207d1b00e293280bcfc17cba8317 release/u-boot-libre/2021.07-r1/deblob-2021.07-r1.sh
|
||||||
|
cc338a69266cc94d3a283a2f0e14660a649573eaf70f11254db00c190a85da5892f9ca78d2d44633d46f90c857297b954ba41d3d9e076a94433326a161f73b61 release/u-boot-libre/2021.07-r1/deblob-2021.07-r1.sh.lz
|
||||||
|
174726b4505a9af850fb15cbfba73c6ea2eeb669352f37e577f37c225c8407f8c0da63f43d0d2285fdd6123fab4ac59233c8bd01bc863ba0e338c8469df10c1c release/u-boot-libre/2021.07-r1/deblob-2021.07-r1.sh.xz
|
Loading…
Reference in New Issue