u-boot-libre: Add help and support for multiple versions
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
This commit is contained in:
parent
1afdbaad1a
commit
414aa56287
1 changed files with 88 additions and 30 deletions
|
@ -23,44 +23,102 @@
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
version="2021.07"
|
|
||||||
revision="r1"
|
revision="r1"
|
||||||
|
|
||||||
topdir="$(realpath $(dirname $(realpath $0))/../../../../)"
|
supported_uboot_versions=" \
|
||||||
tmpdir="${topdir}/release/u-boot-libre/${version}-${revision}/u-boot-libre-${version}-${revision}"
|
2021.07 \
|
||||||
tarball="${tmpdir}.tar"
|
"
|
||||||
|
|
||||||
printf "Building source code archive, version %s revision %s\n" "${version}" "${revision}"
|
usage()
|
||||||
|
{
|
||||||
|
progname="resources/scripts/build/release/u-boot-libre"
|
||||||
|
|
||||||
cd "${topdir}"
|
printf "Usage:\n"
|
||||||
"${topdir}/download" u-boot
|
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"
|
||||||
|
}
|
||||||
|
|
||||||
rm -rf \
|
release_deblobbed_uboot()
|
||||||
"${tmpdir}/" \
|
{
|
||||||
"${tarball}" \
|
version="$1"
|
||||||
"${tarball}.lz" \
|
|
||||||
"${tarball}.xz"
|
|
||||||
|
|
||||||
mkdir -p "$(dirname ${tmpdir})"
|
topdir="$(realpath $(dirname $(realpath $0))/../../../../)"
|
||||||
cp -R "u-boot/u-boot/" "${tmpdir}"
|
versiondir="${topdir}/release/u-boot-libre/${version}-${revision}"
|
||||||
|
tmpdir="${versiondir}/u-boot-libre-${version}-${revision}"
|
||||||
|
tarball="${tmpdir}.tar"
|
||||||
|
|
||||||
rm -rf ${tmpdir}/.git ${tmpdir}/.gitignore
|
printf "Building source code archive, version %s revision %s\n" \
|
||||||
make -C ${tmpdir} distclean
|
"${version}" "${revision}"
|
||||||
|
|
||||||
prefix="$(dirname ${tmpdir} | sed 's#^/*##')/"
|
cd "${topdir}"
|
||||||
tar cf "${tarball}" "${tmpdir}" \
|
"${topdir}/download" u-boot "v${version}"
|
||||||
--transform="s#${prefix}##" \
|
|
||||||
--format=gnu \
|
|
||||||
--sort=name \
|
|
||||||
--owner=0 --group=0 --numeric-owner \
|
|
||||||
--mtime="1970-01-01" \
|
|
||||||
|
|
||||||
lzip -9 --keep -vv "${tarball}"
|
rm -rf \
|
||||||
xz -9 --keep -vv "${tarball}"
|
"${tmpdir}/" \
|
||||||
|
"${tarball}" \
|
||||||
|
"${tarball}.lz" \
|
||||||
|
"${tarball}.xz"
|
||||||
|
|
||||||
rm -rf "${tmpdir}/"
|
mkdir -p "$(dirname ${tmpdir})"
|
||||||
|
cp -R "u-boot/u-boot/" "${tmpdir}"
|
||||||
|
|
||||||
printf "Source code archives available at:\n\t%s\n\t%s\n\t%s\n" \
|
rm -rf ${tmpdir}/.git ${tmpdir}/.gitignore
|
||||||
"${tarball}" \
|
make -C ${tmpdir} distclean
|
||||||
"${tarball}.lz" \
|
|
||||||
"${tarball}.xz"
|
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}/"
|
||||||
|
|
||||||
|
printf "Source code archives available at:\n\t%s\n\t%s\n\t%s\n" \
|
||||||
|
"${tarball}" \
|
||||||
|
"${tarball}.lz" \
|
||||||
|
"${tarball}.xz"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ] ; then
|
||||||
|
for version in ${supported_uboot_versions} ; do
|
||||||
|
release_deblobbed_uboot "${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"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "Error: Version '${1}' is not supported\n"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
Loading…
Reference in a new issue