diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-10-20 11:51:38 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-10-20 12:08:36 +0100 | 
| commit | 1c8b2114cc8496402e77d262c4f1fde3dca6e62f (patch) | |
| tree | 150801881b092cb0fe554ebf013e7f239f18aacb /script | |
| parent | 54a05fc167904c97a3bcbc2aeb4afdb5ad35a379 (diff) | |
update/release: copy crossgcc to archive
everything downloaded, then tarballed, then built,
now crossgcc is downloaded by coreboot.
now extract, copy crossgcc tarballs, re-compress.
TODO: simply add files to the archive, without re-
compressing the whole thing.
this is still more efficient than the old way: build
everything, then clean and compress, making another
build test on the release archive necessary; with this,
there is still only one build test per release.
with this, and the previous revisions dealing with
submodules, the source archives should now be complete.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script')
| -rwxr-xr-x | script/update/release | 57 | 
1 files changed, 50 insertions, 7 deletions
diff --git a/script/update/release b/script/update/release index 1875f160..32d264d3 100755 --- a/script/update/release +++ b/script/update/release @@ -52,13 +52,56 @@ build_release()  	cd "${srcdir%/*}" || err "${_xm}: mktarball \"${srcdir}\""  	mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "${_xm}: mksrc"  	) -	if [ "${mode}" != "src" ]; then -		( -		cd "${srcdir}" || err "${_xm}: 2 !cd \"${srcdir}\"" -		mkrom_images -		) -	fi -	rm -Rf "${srcdir}" || err "${_xm}: !rm -Rf \"${srcdir}\"" +	[ "${mode}" = "src" ] && return 0 # for src mode, xgcc tarballs are +					  # not included in the src archive + +	# now build roms, then copy crossgcc to src and re-compress +	# while compressing rom images too. + +	( +	cd "${srcdir}" || err "${_xm}: 2 !cd \"${srcdir}\"" +	mkrom_images +	) +	for _cbd in "${srcdir}/src/coreboot/"*; do +		[ -d "${_cbd}/util/crossgcc/tarballs" ] || continue +		_xgccdir="${vdir}/crossgcc/${_cbd##*/}" +		mkdir -p "${_xgccdir}" || \ +		    err "build_release: !mkdir -p ${_xgccdir}" +		cp -R "${_cbd}/util/crossgcc/tarballs/"* "${_xgccdir}" || \ +		    err "build_gcc: !copy xgcc ${_cbd}" +	done +	rm -Rf "${srcdir}" || err "build_release: !rm -Rf ${srcdir}" +	( +	cd "${srcdir%/*}" || err "${_xm} 2: mktarball \"${srcdir}\"" +	tar -xf "${srcdir##*/}.tar.xz" || err "!extract ${srcdir##*/}.tar.xz" +	rm -f "${srcdir##*/}.tar.xz" || err "!rm -f ${srcdir##*/}.tar.xz" +	) +	for _xgcc in "${vdir}/crossgcc/"*; do +		[ -d "${_xgcc}" ] || continue +		mv "${_xgcc}" \ +		    "${srcdir}/src/coreboot/${_xgcc##*/}/util/crossgcc/tarballs" \ +		    || err "!move xgcc tarballs to ${srcdir}/xgcc/${_xgcc##*/}" +	done +	( +	cd "${srcdir%/*}" || err "${_xm}: mktarball \"${srcdir}\"" +	mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "${_xm}: mksrc" +	) + +	# now test the vendor insert script, using the release archive: +	( +	cd "${srcdir}" || err "!cd ${srcdir}" +	for vrom in ../roms/*.tar.xz; do +		[ -f "${vrom}" ] || continue +		case "${vrom}" in +		*serprog*) continue ;; +		esac +		./vendor inject "${vrom}" || \ +		    err "TESTFAIL: inject: ${vrom##*/}" +		continue +	done +	) + +	rm -Rf "${srcdir}" || err "!rm -Rf ${srcdir}"  }  fetch_trees()  | 
