diff options
Diffstat (limited to 'resources/scripts/build/release')
| -rwxr-xr-x | resources/scripts/build/release/u-boot-libre | 217 | ||||
| -rwxr-xr-x | resources/scripts/build/release/u-boot-stable-src-release | 60 | 
2 files changed, 217 insertions, 60 deletions
| diff --git a/resources/scripts/build/release/u-boot-libre b/resources/scripts/build/release/u-boot-libre new file mode 100755 index 00000000..a871aab7 --- /dev/null +++ b/resources/scripts/build/release/u-boot-libre @@ -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 diff --git a/resources/scripts/build/release/u-boot-stable-src-release b/resources/scripts/build/release/u-boot-stable-src-release deleted file mode 100755 index 357338cf..00000000 --- a/resources/scripts/build/release/u-boot-stable-src-release +++ /dev/null @@ -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" | 
