diff options
-rwxr-xr-x | include/git.sh | 34 | ||||
-rwxr-xr-x | include/mrc.sh | 2 | ||||
-rwxr-xr-x | script/build/grub | 2 | ||||
-rwxr-xr-x | script/update/release | 18 | ||||
-rwxr-xr-x | script/update/trees | 2 | ||||
-rwxr-xr-x | script/vendor/download | 4 | ||||
-rwxr-xr-x | script/vendor/inject | 2 |
7 files changed, 39 insertions, 25 deletions
diff --git a/include/git.sh b/include/git.sh index fa53fed1..811b298a 100755 --- a/include/git.sh +++ b/include/git.sh @@ -4,7 +4,7 @@ # This file is only used by update/project/trees -eval "$(setvars "" _target rev _xm loc url bkup_url depend)" +eval "$(setvars "" _target rev _xm loc url bkup_url depend patchfail)" tmp_git_dir="${PWD}/tmp/gitclone" fetch_project_trees() @@ -58,16 +58,27 @@ prepare_new_tree() { printf "Creating %s tree %s (%s)\n" "${project}" "${tree}" "${_target}" - x_ cp -R "src/${project}/${project}" "src/${project}/${tree}" - git_reset_rev "src/${project}/${tree}" "${rev}" + rm -Rf "${tmp_git_dir%/*}" || \ + err "prepare_new_tree ${project}/${tree}: can't rm tmpclone" + mkdir "${tmp_git_dir%/*}" || \ + err "prepare_new_tree ${project}/${tree}: can't mkdir tmp" + cp -R "src/${project}/${project}" "${tmp_git_dir}" || \ + err "prepare_new_tree ${project}/${tree}: can't make tmpclone" + git_reset_rev "${tmp_git_dir}" "${rev}" ( - x_ cd "src/${project}/${tree}" + cd "${tmp_git_dir}" || \ + err "prepare_new_tree ${project}/${tree}: can't cd tmpclone" if [ -f ".gitmodules" ]; then git submodule update --init --checkout || \ err "prepare_new_tree ${project}/${tree}: !submodules" fi - ) - git_am_patches "$PWD/src/$project/$tree" "$PWD/$cfgsdir/$tree/patches" + ) || err "git submodule update failure" + git_am_patches "${tmp_git_dir}" "$PWD/$cfgsdir/$tree/patches" || \ + err "prepare_new_tree ${project}/${tree}: patch fail" + [ "${patchfail}" = "y" ] && err "PATCH FAIL" + + mv "${tmp_git_dir}" "src/${project}/${tree}" || \ + err "prepare_new_tree ${project}/${tree}: can't copy tmpclone" } fetch_project_repo() @@ -107,7 +118,9 @@ clone_project() git clone ${bkup_url} "${tmp_git_dir}" || \ err "clone_project: could not download ${project}" git_reset_rev "${tmp_git_dir}" "${rev}" - git_am_patches "${tmp_git_dir}" "${PWD}/config/${project}/patches" + git_am_patches "${tmp_git_dir}" "${PWD}/config/${project}/patches" \ + || err "clone_project ${project} ${loc}: patch fail" + [ "${patchfail}" = "y" ] && err "PATCH FAIL" x_ rm -Rf "${loc}" [ "${loc}" = "${loc%/*}" ] || x_ mkdir -p ${loc%/*} @@ -125,7 +138,7 @@ git_reset_rev() git submodule update --init --checkout || \ err "git_reset_rev ${1}: can't download submodules" fi - ) + ) || err "git reset fail" } git_am_patches() @@ -137,17 +150,18 @@ git_am_patches() for patch in "${patchdir}/"*; do [ -L "${patch}" ] && continue [ -f "${patch}" ] || continue - patchfail="n" git am "${patch}" || patchfail="y" if [ "${patchfail}" = "y" ]; then git am --abort || err "${sdir}: !git am --abort" err "!git am ${patch} -> ${sdir}" fi done - ) + ) || err "PATCH FAILURE" for patches in "${patchdir}/"*; do [ -L "${patches}" ] && continue [ ! -d "${patches}" ] && continue git_am_patches "${sdir}" "${patches}" done + [ "${patchfail}" = "y" ] && return 1 + return 0 } diff --git a/include/mrc.sh b/include/mrc.sh index e57026a4..929aed7a 100755 --- a/include/mrc.sh +++ b/include/mrc.sh @@ -20,7 +20,7 @@ extract_mrc() extract_partition extract_shellball extract_coreboot - ) + ) || err "mrc download/extract failure" "${cbfstool}" "${appdir}/"coreboot-*.bin extract -n mrc.bin \ -f "${_dest}" -r RO_SECTION || err "extract_mrc: cbfstool ${_dest}" diff --git a/script/build/grub b/script/build/grub index 31fc0084..5fa47c00 100755 --- a/script/build/grub +++ b/script/build/grub @@ -38,7 +38,7 @@ build_grub_utils() x_ ./autogen.sh x_ ./configure --with-platform=coreboot make -j$(nproc) FS_PAYLOAD_MODULES="" || err "!mk grub utils" - ) + ) || err "grub build error" } build_keymap_configs() diff --git a/script/update/release b/script/update/release index dcddb44c..447d93ce 100755 --- a/script/update/release +++ b/script/update/release @@ -50,11 +50,11 @@ build_release() cd "${srcdir}" || err "${_xm}: !cd \"${srcdir}\"" fetch_trees x_ mv src/docs docs - ) + ) || err "can't copy docs" ( cd "${srcdir%/*}" || err "${_xm}: mktarball \"${srcdir}\"" mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "${_xm}: mksrc" - ) + ) || err "can't create pre-crossgcc src tarball" [ "${mode}" = "src" ] && return 0 # for src mode, xgcc tarballs are # not included in the src archive @@ -64,7 +64,7 @@ build_release() ( cd "${srcdir}" || err "${_xm}: 2 !cd \"${srcdir}\"" mkrom_images - ) + ) || err "can't build rom images" for _cbd in "${srcdir}/src/coreboot/"*; do [ -d "${_cbd}/util/crossgcc/tarballs" ] || continue _xgccdir="${vdir}/crossgcc/${_cbd##*/}" @@ -78,7 +78,7 @@ build_release() 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" - ) + ) || err "can't extract pre-crossgcc src tarball" for _xgcc in "${vdir}/crossgcc/"*; do [ -d "${_xgcc}" ] || continue mkdir -p "${srcdir}/src/coreboot/${_xgcc##*/}/util/crossgcc/tarballs" || \ @@ -91,7 +91,7 @@ build_release() ( cd "${srcdir%/*}" || err "${_xm}: mktarball \"${srcdir}\"" mktarball "${srcdir##*/}" "${srcdir##*/}.tar.xz" || err "${_xm}: mksrc" - ) + ) || err "can't create src tarball with crossgcc" # now test the vendor insert script, using the release archive: ( @@ -106,7 +106,7 @@ build_release() err "TESTFAIL: inject: ${vrom##*/}" continue done - ) + ) || err "vendorfile inject test failure" rm -Rf "${srcdir}" || err "!rm -Rf ${srcdir}" } @@ -210,7 +210,7 @@ nukerom() ( cd "${romdir}" || err "!cd romdir ${romdir}, nukerom" sha512sum *.rom >> vendorhashes || err "!create vendorhashes, nukerom" - ) + ) || err "can't create vendor hashes" for romfile in "${romdir}"/*.rom; do [ -f "${romfile}" ] || continue @@ -257,7 +257,7 @@ mkrom_tarball() ( cd "${romdir%/bin/${target}}" || err "!cd ${romdir%/bin/${target}}" mktarball "bin/${target}" "${archivename}.tar.xz" - ) + ) || err "can't create rom tarball" mv "${romdir%/bin/${target}}/${archivename}.tar.xz"* "${f%/*}" || \ err "!mktarball, rom, ${f%/*}/${romdir%/bin/${target}}/${archivename}.tar.xz" @@ -289,7 +289,7 @@ mktarball() [ "${2%/*}" != "${2}" ] && x_ cd "${2%/*}" sha512sum "${2##*/}" > "${2##*/}.sha512" || \ err "!sha512sum \"${2##*/}\" > \"${2##*/}.sha512\"" - ) + ) || err "failed to create tarball checksum" } main $@ diff --git a/script/update/trees b/script/update/trees index bd0fcb61..1719aab9 100755 --- a/script/update/trees +++ b/script/update/trees @@ -61,7 +61,7 @@ build_projects() x_ cd src/uefitool cmake UEFIExtract/ || [ -f Makefile ] || \ err "build_projects: !cmake UEFIExtract/" - ) + ) || err "can't build cmake on uefiextract" fi [ "${mode}" = "distclean" ] && mode="clean" diff --git a/script/vendor/download b/script/vendor/download index 4613c2b6..eada2e91 100755 --- a/script/vendor/download +++ b/script/vendor/download @@ -214,7 +214,7 @@ extract_kbc1126ec() [ -f ec.bin ] || err "extract_kbc1126_ec ${board}: can't extract" "${kbc1126_ec_dump}" ec.bin || \ err "extract_kbc1126_ec ${board}: can't extract ecfw1/2.bin" - ) + ) || err "can't extract kbc1126 ec firmware" ec_ex="y" for i in 1 2; do [ -f "${appdir}/ec.bin.fw${i}" ] || ec_ex="n" @@ -239,7 +239,7 @@ extract_e6400vga() "${e6400_unpack}" bios.bin || printf "TODO: fix dell extract util\n" [ -f "${E6400_VGA_romname}" ] || \ err "extract_e6400vga: can't extract vga rom from bios.bin" - ) + ) || err "can't extract e6400 vga rom" cp "${appdir}/${E6400_VGA_romname}" "${_dest}" || \ err "extract_e6400vga ${board}: can't copy vga rom to ${_dest}" } diff --git a/script/vendor/inject b/script/vendor/inject index 088851ca..2e125f4f 100755 --- a/script/vendor/inject +++ b/script/vendor/inject @@ -141,7 +141,7 @@ patch_release_roms() sha512sum --status -c blobhashes || \ sha1sum --status -c blobhashes || \ err "patch_release_roms: ROMs did not match expected hashes" - ) + ) || err "can't verify vendor hashes" if [ "${modifygbe}" = "true" ]; then for x in "${_tmpdir}"/bin/*/*.rom ; do |