diff options
Diffstat (limited to 'script/build')
-rwxr-xr-x | script/build/boot/roms | 3 | ||||
-rwxr-xr-x | script/build/boot/roms_helper | 131 | ||||
-rwxr-xr-x | script/build/coreboot/utils | 31 | ||||
-rwxr-xr-x | script/build/fw/serprog | 26 | ||||
-rwxr-xr-x | script/build/grub/payload | 17 | ||||
-rwxr-xr-x | script/build/grub/utils | 20 | ||||
-rwxr-xr-x | script/build/release/roms | 92 | ||||
-rwxr-xr-x | script/build/release/src | 92 |
8 files changed, 149 insertions, 263 deletions
diff --git a/script/build/boot/roms b/script/build/boot/roms index edecfc6b..48d55e27 100755 --- a/script/build/boot/roms +++ b/script/build/boot/roms @@ -41,8 +41,7 @@ build_bootroms() { opts="${_displaymode} ${_payload} ${_keyboard}" for x in ${boards}; do - ./build boot roms_helper ${opts} ${x} || \ - err "handle_targets ${opts} ${x}: build error" + x_ ./build boot roms_helper ${opts} ${x} [ -d "bin/${x}" ] && targets="${x} ${targets}" done } diff --git a/script/build/boot/roms_helper b/script/build/boot/roms_helper index 09b08125..2d185b7d 100755 --- a/script/build/boot/roms_helper +++ b/script/build/boot/roms_helper @@ -110,16 +110,15 @@ build_dependencies() cbfstool="cbutils/${tree}/cbfstool" cbrom="${cbdir}/build/coreboot.rom" - ./build coreboot utils ${tree} || err "cannot build cbutils/${tree}" + x_ ./build coreboot utils ${tree} build_dependency_seabios memtest_bin="memtest86plus/build${arch#*_}/memtest.bin" [ "${payload_memtest}" != "y" ] || [ -f "${memtest_bin}" ] || \ - ./handle make file -b ${memtest_bin%/*} || \ - err "cannot build memtest86+" + x_ ./handle make file -b ${memtest_bin%/*} - rm -f "${romdir}"/* || err "cannot: rm -f \"${romdir}\"/*" + x_ rm -f "${romdir}/"* build_dependency_grub build_dependency_uboot @@ -133,8 +132,7 @@ build_dependency_seabios() || [ ! -f elf/seabios/default/libgfxinit/bios.bin.elf ] \ || [ ! -f elf/seabios/default/vgarom/bios.bin.elf ] \ || [ ! -f elf/seabios/default/normal/bios.bin.elf ]; then - ./handle make config -b seabios || \ - err "cannot build seabios" + x_ ./handle make config -b seabios fi } @@ -155,16 +153,14 @@ build_dependency_grub() rebuild_grub="y" && break done [ "${rebuild_grub}" = "y" ] || return 0 - ./build grub payload || \ - err "build_dependency_grub: cannot build grub payload" + x_ ./build grub payload } build_dependency_uboot() { [ "${payload_uboot}" = "y" ] || return 0 - ./handle make config -b u-boot ${board} || \ - err "cannot build u-boot target: ${board}" + x_ ./handle make config -b u-boot ${board} ubdir="elf/u-boot/${board}/${uboot_config}" ubootelf="${ubdir}/u-boot.elf" [ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot.bin" ] && \ @@ -187,7 +183,7 @@ build_target() [ "$displaymode" != "txtmode" ] && continue cbcfg="${targetdir}/config/${initmode}_${displaymode}" [ "${initmode}" = "normal" ] && cbcfg="${cbcfg%_*}" - build_roms "${cbcfg}" + build_roms "${cbcfg}" done done } @@ -201,26 +197,22 @@ build_roms() "${cbcfg}" "${board}" "${displaymode}" "${initmode}" \ 1>&2 && return 0 - ./handle make config -b coreboot ${board} || \ - err "build_roms: cannot build coreboot for target: ${board}" + x_ ./handle make config -b coreboot ${board} _cbrom="elf/coreboot/${board}/${initmode}_${displaymode}" [ "${initmode}" = "normal" ] && \ _cbrom="${_cbrom%_${displaymode}}" _cbrom="${_cbrom}/coreboot.rom" cbrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" - cp "${_cbrom}" "${cbrom}" || \ - err "build_roms: cannot copy rom" + x_ cp "${_cbrom}" "${cbrom}" [ "${payload_memtest}" != "y" ] || \ - "${cbfstool}" "${cbrom}" add-payload \ - -f "${memtest_bin}" -n img/memtest -c lzma || \ - err "build_roms: cannot add img/memtest to coreboot rom" + x_ "${cbfstool}" "${cbrom}" add-payload \ + -f "${memtest_bin}" -n img/memtest -c lzma [ "${payload_seabios}" = "y" ] && \ build_seabios_roms [ "${payload_grub}" != "y" ] || \ - build_grub_roms "${cbrom}" "grub" || \ - err "build_roms: build_grub_roms failed" + x_ build_grub_roms "${cbrom}" "grub" [ "${payload_uboot}" = "y" ] || return 0 build_uboot_roms } @@ -229,68 +221,57 @@ build_seabios_roms() { if [ "${payload_seabios_withgrub}" = "y" ]; then tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) - cp "${cbrom}" "${tmprom}" || \ - err "build_seabios_roms: cannot copy to tmprom" - build_grub_roms "${tmprom}" "seabios_withgrub" || \ - err "build_roms: cannot build grub roms, seabios w/grub" - rm -f "${tmprom}" || err "build_roms: can't remove tmprom" + x_ cp "${cbrom}" "${tmprom}" + x_ build_grub_roms "${tmprom}" "seabios_withgrub" + x_ rm -f "${tmprom}" else t=$(mkSeabiosRom "${cbrom}" "fallback/payload") || \ err "build_seabios_roms: cannot build tmprom" newrom="${romdir}/seabios_${board}_${initmode}_${displaymode}" [ "${initmode}" = "normal" ] && newrom="${romdir}/seabios" \ && newrom="${newrom}_${board}_${initmode}" - moverom "${t}" "${newrom}.rom" || \ - err "build_roms: cannot copy rom" - rm -f "${t}" || err "cannot rm ${t}" + x_ moverom "${t}" "${newrom}.rom" + x_ rm -f "${t}" fi - } # Make separate ROM images with GRUB payload, for each supported keymap -build_grub_roms() { +build_grub_roms() +{ tmprom="${1}" payload1="${2}" # allow values: grub, seabios, seabios_withgrub grub_cbfs="fallback/payload" if [ "${payload_grub_withseabios}" = "y" ] && \ [ "${payload1}" = "grub" ]; then - mv "$(mkSeabiosRom "${tmprom}" "seabios.elf")" "${tmprom}" || \ - err "build_grub_roms: cannot move tmp rom (seabios.elf)" + x_ mv "$(mkSeabiosRom "${tmprom}" "seabios.elf")" "${tmprom}" elif [ "${payload_seabios_withgrub}" = "y" ] && \ [ "${payload1}" != "grub" ]; then - mv "$(mkSeabiosRom "${tmprom}" fallback/payload)" "${tmprom}" \ - || err "build_grub_roms: cannot move SeaBIOS ROM to tmprom" + x_ mv "$(mkSeabiosRom "${tmprom}" fallback/payload)" "${tmprom}" grub_cbfs="img/grub2" fi # we only need insert grub.elf once, for each coreboot config: - "${cbfstool}" "${tmprom}" add-payload -f "${grubelf}" -n ${grub_cbfs} \ - -c lzma || err "build_grub_roms: cannot add grub payload to tmprom" + x_ "${cbfstool}" "${tmprom}" add-payload -f "${grubelf}" \ + -n ${grub_cbfs} -c lzma # we only need insert background.png once, for each coreboot config: if [ "${displaymode}" = "vesafb" ] || \ [ "${displaymode}" = "corebootfb" ]; then backgroundfile="config/grub/background/${grub_background}" - "${cbfstool}" "${tmprom}" add -f ${backgroundfile} \ - -n background.png -t raw || \ - err "build_grub_roms: cannot add background.png to tmprom" - + x_ "${cbfstool}" "${tmprom}" add -f ${backgroundfile} \ + -n background.png -t raw fi tmpcfg=$(mktemp -t coreboot_rom.XXXXXXXXXX) || err "build_grub_roms: cannot create temporary scan.cfg" - printf "set grub_scan_disk=\"%s\"\n" "${grub_scan_disk}" > \ - "${tmpcfg}" || err "build_grub_roms: cannot create scan.cfg" + x_ printf "set grub_scan_disk=\"%s\"\n" "${grub_scan_disk}" >"${tmpcfg}" [ "${grub_scan_disk}" = "both" ] || \ - "${cbfstool}" "${tmprom}" add -f "${tmpcfg}" -n scan.cfg -t \ - raw || err "build_grub_roms: can't insert scan.cfg" - printf "set timeout=%s\n" "${grub_timeout}" > "${tmpcfg}" || \ - err "build_grub_roms: can't create timeout.cfg" - [ -z "${grub_timeout}" ] || \ - "${cbfstool}" "${tmprom}" add -f "${tmpcfg}" -n timeout.cfg \ - -t raw || err "build_grub_roms: can't insert timeout.cfg" - rm -f "${tmpcfg}" || err "build_grub_roms: can't delete tmpcfg" + x_ "${cbfstool}" "${tmprom}" add -f "${tmpcfg}" -n scan.cfg -t raw + x_ printf "set timeout=%s\n" "${grub_timeout}" > "${tmpcfg}" + [ -z "${grub_timeout}" ] || x_ "${cbfstool}" "${tmprom}" add \ + -f "${tmpcfg}" -n timeout.cfg -t raw + x_ rm -f "${tmpcfg}" keymaps="" for kmapfile in "${kmapdir}"/*; do @@ -309,9 +290,8 @@ build_grub_roms() { [ "${initmode}" = "normal" ] && \ newrom="${romdir}/${payload1}_${board}_" && \ newrom="${newrom}${initmode}_${keymap}.rom" - moverom "${tmpgrubrom}" "${newrom}" || \ - err "build_grub_roms, moverom" - rm -f "${tmpgrubrom}" || err "rm tmpgrubrom, build_grub_roms" + x_ moverom "${tmpgrubrom}" "${newrom}" + x_ rm -f "${tmpgrubrom}" done } @@ -324,9 +304,8 @@ mkGrubRom() { tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) || \ err "mkGrubRom: cannot create tmprom" - cp "${_cbrom}" "${tmprom}" || err "mkGrubRom: cannot copy to tmprom" - "${cbfstool}" "${tmprom}" add -f "${keymapcfg}" -n keymap.cfg -t raw \ - || err "mkGrubRom: cannot add keymap.cfg to tmprom" + x_ cp "${_cbrom}" "${tmprom}" + x_ "${cbfstool}" "${tmprom}" add -f "${keymapcfg}" -n keymap.cfg -t raw printf "%s\n" "${tmprom}" } @@ -339,23 +318,17 @@ mkSeabiosRom() { _seabioself="elf/seabios/default/${initmode}/bios.bin.elf" tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) - cp "${_cbrom}" "${tmprom}" || \ - err "mkSeabiosRom: cannot copy to tmprom" - "${cbfstool}" "${tmprom}" add-payload -f "${_seabioself}" \ - -n ${_seabios_cbfs_path} -c lzma || \ - err "mkSeabiosRom: can't add payload, ${_seabioself}, to rom" - "${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup \ - || err "mkSeabiosRom: cbfs add-int etc/ps2-keyboard-spinup 3000" + x_ cp "${_cbrom}" "${tmprom}" + x_ "${cbfstool}" "${tmprom}" add-payload -f "${_seabioself}" \ + -n ${_seabios_cbfs_path} -c lzma + x_ "${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup z="2"; [ "${initmode}" = "vgarom" ] && z="0" - "${cbfstool}" "${tmprom}" add-int -i $z -n etc/pci-optionrom-exec || \ - err "mkSeabiosRom: cbfs add-int etc/pci-optionrom-exec 0" - "${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || \ - err "mkSeabiosRom: cbfs add-int etc/optionroms-checksum 0" + x_ "${cbfstool}" "${tmprom}" add-int -i $z -n etc/pci-optionrom-exec + x_ "${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum [ "${initmode}" != "libgfxinit" ] || \ - "${cbfstool}" "${tmprom}" add -f "${seavgabiosrom}" \ - -n vgaroms/seavgabios.bin -t raw || \ - err "mkSeabiosRom: cbfs add-raw vgaroms/seavgabios.bin" + x_ "${cbfstool}" "${tmprom}" add -f "${seavgabiosrom}" \ + -n vgaroms/seavgabios.bin -t raw printf "%s\n" "${tmprom}" } @@ -366,9 +339,8 @@ build_uboot_roms() newrom="${romdir}/uboot_payload_${board}_${initmode}_${displaymode}.rom" [ "${initmode}" = "normal" ] && \ newrom="${romdir}/uboot_payload_${board}_${initmode}.rom" - moverom "${tmprom}" "${newrom}" || \ - err "build_roms: moverom fail (u-boot)" - rm -f "${tmprom}" || err "build_roms: cannot rm u-boot rom" + x_ moverom "${tmprom}" "${newrom}" + x_ rm -f "${tmprom}" } # make a rom in /tmp/ and then print the path of that ROM @@ -384,11 +356,9 @@ mkUbootRom() { tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) - cp "${_cbrom}" "${tmprom}" || \ - err "mkUbootRom: cannot copy to tmprom" - "${cbfstool}" "${tmprom}" add-payload -f "${_ubootelf}" \ - -n ${_uboot_cbfs_path} -c lzma || \ - err "mkUbootRom: cannot add u-boot to tmprom" + x_ cp "${_cbrom}" "${tmprom}" + x_ "${cbfstool}" "${tmprom}" add-payload -f "${_ubootelf}" \ + -n ${_uboot_cbfs_path} -c lzma printf "%s\n" "${tmprom}" } @@ -401,10 +371,9 @@ moverom() { printf "Creating target image: %s\n" "${newrom}" - [ -d "${newrom%/*}" ] || mkdir -p "${newrom%/*}/" || \ - err "moverom: cannot create rom directory: \"${newrom%/*}\"" + [ -d "${newrom%/*}" ] || x_ mkdir -p "${newrom%/*}/" [ "${blobs_required}" = "n" ] && newrom="${newrom%.rom}_noblobs.rom" - cp "${rompath}" "${newrom}" || err "moverom: can't copy rom" + x_ cp "${rompath}" "${newrom}" } main $@ diff --git a/script/build/coreboot/utils b/script/build/coreboot/utils index 8498897a..9dddc440 100755 --- a/script/build/coreboot/utils +++ b/script/build/coreboot/utils @@ -13,14 +13,12 @@ main() if [ $# -gt 0 ]; then for board in "${@}"; do - build_for_mainboard ${board} || \ - err "cannot build cbutils for target, ${board}" + x_ build_for_mainboard ${board} done else for boarddir in config/coreboot/*; do [ ! -d "${boarddir}" ] && continue - build_for_mainboard ${boarddir##*/} || \ - err "cannot build cbutils for target, ${board}" + x_ build_for_mainboard ${boarddir##*/} done fi } @@ -28,36 +26,29 @@ main() build_for_mainboard() { board="${1}" [ -d "config/coreboot/${board}" ] || \ - err "build_for_mainboard ${board}: boarddir does not exist" + err "build_for_mainboard ${board}: boarddir does not exist" [ -f "config/coreboot/${board}/target.cfg" ] || \ - err "build_for_mainboard ${board}: target.cfg does not exist" + err "build_for_mainboard ${board}: target.cfg does not exist" tree="undefined" . "config/coreboot/${board}/target.cfg" # source [ "${tree}" = "undefined" ] && \ - err "build_for_mainboard: improper tree definition for '${board}'" + err "build_for_mainboard ${board}: improper tree definition" buildutils "${tree}" } buildutils() { tree="${1}" [ -d "coreboot/${tree}/" ] || \ - ./update project trees coreboot $tree || \ - err "buildutils: cannot fetch ${tree}" + x_ ./update project trees coreboot ${tree} for util in cbfstool ifdtool; do [ -f "cbutils/${tree}/${util}" ] && continue - [ -d "cbutils/${tree}" ] || \ - mkdir -p "cbutils/${tree}" || \ - err "buildutils: can't mkdir cbutils/${tree}" + [ -d "cbutils/${tree}" ] || x_ mkdir -p "cbutils/${tree}" utildir="coreboot/${tree}/util/${util}" - make distclean -C "${utildir}" || \ - err "buildutils: cannot clean ${utildir}" - make -j$(nproc) -C "${utildir}" || \ - err "buildutils: cannot build ${utildir}" - cp "${utildir}/${util}" "cbutils/${tree}" || \ - err "buildutils: can't cp ${util} cbutils/${tree}/" - make distclean -C "${utildir}" || \ - err "buildutils: can't clean ${utildir}" + x_ make distclean -C "${utildir}" + x_ make -j$(nproc) -C "${utildir}" + x_ cp "${utildir}/${util}" "cbutils/${tree}" + x_ make distclean -C "${utildir}" done } diff --git a/script/build/fw/serprog b/script/build/fw/serprog index 211948ac..cdbf07e1 100755 --- a/script/build/fw/serprog +++ b/script/build/fw/serprog @@ -28,8 +28,7 @@ main() else err "${usage}" fi - mkdir -p "bin/serprog_${platform}" || \ - err "can't create dir: bin/serprog_${platform}" + x_ mkdir -p "bin/serprog_${platform}" if [ $# -gt 1 ] ; then if [ "${2}" = "list" ] ; then @@ -47,20 +46,18 @@ main() fetch_repo() { - ./update project repo "${1}" || err "fetch ${1} failed!\n" + x_ ./update project repo "${1}" } build_rp2040_rom() { board=${1} printf "Building pico-serprog for ${board}\n" - cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${pico_sdk_dir}" \ - -B "${pico_src_dir}/build" "${pico_src_dir}" \ - || err "can't cmake ${pico_src_dir}" - cmake --build "${pico_src_dir}/build" - mv ${pico_src_dir}/build/pico_serprog.uf2 \ - bin/serprog_rp2040/serprog_${board}.uf2 \ - || err "${board} serprog build failed!" + x_ cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${pico_sdk_dir}" \ + -B "${pico_src_dir}/build" "${pico_src_dir}" + x_ cmake --build "${pico_src_dir}/build" + x_ mv ${pico_src_dir}/build/pico_serprog.uf2 \ + bin/serprog_rp2040/serprog_${board}.uf2 printf "output to bin/serprog_rp2040/serprog_${board}.uf2\n" } @@ -68,11 +65,10 @@ build_stm32_rom() { board=${1} printf "Building stm32-vserprog for ${board}\n" - make -C ${stm32_src_dir} libopencm3-just-make BOARD=${board} - make -C ${stm32_src_dir} BOARD=${board} - mv ${stm32_src_dir}/stm32-vserprog.hex \ - bin/serprog_stm32/serprog_${board}.hex \ - || err "${board} serprog build failed!" + x_ make -C ${stm32_src_dir} libopencm3-just-make BOARD=${board} + x_ make -C ${stm32_src_dir} BOARD=${board} + x_ mv ${stm32_src_dir}/stm32-vserprog.hex \ + bin/serprog_stm32/serprog_${board}.hex printf "output to bin/serprog_stm32/serprog_${board}.hex\n" } diff --git a/script/build/grub/payload b/script/build/grub/payload index 6f4c421a..a1bb3554 100755 --- a/script/build/grub/payload +++ b/script/build/grub/payload @@ -22,16 +22,12 @@ main() handle_dependencies() { [ -d "grub/" ] || \ - ./update project repo grub || \ - err "handle_dependencies: cannot fetch grub" + x_ ./update project repo grub [ -f "grub/grub-mkstandalone" ] || \ - ./build grub utils || \ - err "handle_dependencies: cannot build grub utils" + x_ ./build grub utils [ -d "${elfdir}" ] || \ - mkdir -p "${elfdir}" || \ - err "handle_dependencies: cannot mkdir ${elfdir}" - rm -f "${elfdir}/"* || \ - err "handle_dependencies: cannot rm inside: ${elfdir}/" + x_ mkdir -p "${elfdir}" + x_ rm -f "${elfdir}/"* } build_keymap_configs() @@ -40,9 +36,8 @@ build_keymap_configs() [ -f "${keylayoutfile}" ] || continue keymap="${keylayoutfile##${grubcfgsdir}/keymap/}" keymap="${keymap%.gkb}" - printf "keymap %s\n" "${keymap}" > \ - "${elfdir}/keymap_${keymap}.cfg" || \ - err "mk_keymap: can't make ${elfdir}/keymap_${keymap}.cfg" + x_ printf "keymap %s\n" "${keymap}" > \ + "${elfdir}/keymap_${keymap}.cfg" done } diff --git a/script/build/grub/utils b/script/build/grub/utils index 3c463e6d..edb78bb1 100755 --- a/script/build/grub/utils +++ b/script/build/grub/utils @@ -10,25 +10,19 @@ set -u -e main() { - [ -d "grub/" ] || ./update project repo grub || err "cannot fetch grub" + [ -d "grub/" ] || x_ ./update project repo grub build_grub } build_grub() { ( - cd grub/ || \ - err "build_grub: cd" - [ ! -d Makefile ] || make distclean || \ - err "build_grub: make-distclean" - ./bootstrap --gnulib-srcdir=gnulib/ --no-git || \ - err "build_grub: gnulib bootstrap" - ./autogen.sh || \ - err "build_grub: autogen.sh" - ./configure --with-platform=coreboot || \ - err "build_grub: autoconf" - make -j$(nproc) FS_PAYLOAD_MODULES="" || \ - err "build_grub: make" + x_ cd grub/ + [ ! -d Makefile ] || x_ make distclean + x_ ./bootstrap --gnulib-srcdir=gnulib/ --no-git + x_ ./autogen.sh + x_ ./configure --with-platform=coreboot + x_ make -j$(nproc) FS_PAYLOAD_MODULES="" ) } diff --git a/script/build/release/roms b/script/build/release/roms index 026f4eae..50560f98 100755 --- a/script/build/release/roms +++ b/script/build/release/roms @@ -38,41 +38,33 @@ init_check() [ ! -d "bin/" ] && \ err "init_check: no ROMs built yet (error)" [ -d "release/" ] || \ - mkdir -p release/ || \ - err "init_check: !mkdir -p release/" + x_ mkdir -p release/ [ -d "release/${version}/" ] || \ - mkdir -p "release/${version}/" || \ - err "init_check: !mkdir -p release/${version}/" + x_ mkdir -p "release/${version}/" [ ! -d "release/${version}/roms/" ] || \ - rm -Rf "release/${version}/roms/" || \ - err "init_check: !rm -Rf release/${version}/roms/" + x_ rm -Rf "release/${version}/roms/" [ -d "release/${version}/roms/" ] && return 0 - mkdir -p "release/${version}/roms/" || \ - err "init_check: !mkdir -p release/${version}/roms/" + x_ mkdir -p "release/${version}/roms/" } make_archive() { builddir="${1}" - romdir="tmp/romdir" || \ - err "make_archive: cannot create tmpdir" - rm -Rf "${romdir}" || err "make_archive: can't remove tmpdir" + romdir="tmp/romdir" + x_ rm -Rf "${romdir}" target="${builddir##*/}" if [ ! -f "config/coreboot/${target}/target.cfg" ]; then # No config, just make a tarball tarball=release/${version}/roms/${target}_${version}.tar.xz - tar -c "${builddir}" | xz -T0 -6 > ${tarball} || \ - (rm ${tarball} - err "make_archive: cannot make \"${tarball}\"") + x_ tar -c "${builddir}" | xz -T0 -6 > ${tarball} || \ + x_ rm -f ${tarball} return 0 fi romdir="${romdir}/bin/${target}" - mkdir -p "${romdir}" || \ - err "make_archive: can't mkdir tmpdir" - cp "${builddir}"/* "${romdir}" || \ - err "make_archive: cannot copy ROM images directory -> ${romdir}" + x_ mkdir -p "${romdir}" + x_ cp "${builddir}"/* "${romdir}" printf "%s\n" "${target}" @@ -97,24 +89,18 @@ make_archive() printf "Generating release/%s/roms/%s-%s_%s.tar.xz\n" \ "${version}" "${projectname}" "${version}" "${target##*/}" - printf "%s\n" "${version}" > "${romdir}/version" || \ - err "make_archive: can't create ${romdir}/version" - printf "%s\n" "${versiondate}" > "${romdir}/versiondate" || \ - err "make_archive: can't create ${romdir}/versiondate" - printf "%s\n" "${projectname}" > "${romdir}/projectname" || \ - err "make_archive: can't create ${romdir}/projectname" + x_ printf "%s\n" "${version}" > "${romdir}/version" + x_ printf "%s\n" "${versiondate}" > "${romdir}/versiondate" + x_ printf "%s\n" "${projectname}" > "${romdir}/projectname" archivename="${projectname}-${version}_${target##*/}" f="release/${version}/roms/${archivename}" ( - cd "${romdir%/bin/${target}}" || err "make_archive: can't cd to tmpdir" - tar -c "bin/${target}/" | xz -T0 -9e > "${archivename}.tar.xz" || \ - err "make_archive:cant make ${projectname}-${version}_${target##*/}" + x_ cd "${romdir%/bin/${target}}" + x_ tar -c "bin/${target}/" | xz -T0 -9e > "${archivename}.tar.xz" ) - mv "${romdir%/bin/${target}}/${archivename}.tar.xz" "${f}.tar.xz" || \ - err "make_archive: can't copy tarball" - rm -Rf "${romdir%/bin/${target}}" || \ - err "make_archive: can't delete tmpdir" + x_ mv "${romdir%/bin/${target}}/${archivename}.tar.xz" "${f}.tar.xz" + x_ rm -Rf "${romdir%/bin/${target}}" } strip_archive() @@ -122,10 +108,8 @@ strip_archive() romdir=${1} [ -d "coreboot/${tree}" ] || \ - ./update project trees coreboot ${tree} || \ - err "strip_archive: coreboot/${tree}: can't fetch source" - ./build coreboot utils ${tree} || \ - err "strip_archive: coreboot/${tree}: can't build utils" + x_ ./update project trees coreboot ${tree} + x_ ./build coreboot utils ${tree} if [ "${microcode_required}" = "n" ]; then for romfile in "${romdir}"/*.rom; do @@ -134,21 +118,17 @@ strip_archive() done for romfile in "${romdir}"/*.tmprom; do [ -f "${romfile}" ] || continue - mv "${romfile}" "${romfile%.tmprom}.rom" || \ - err "can't make no-u rom: ${romfile%.tmprom}.rom" + x_ mv "${romfile}" "${romfile%.tmprom}.rom" done fi # Hash the rom before removing blobs - rm -f "${romdir}/blobhashes" || \ - err "strip_archive: !rm -f ${blobdir}/blobhashes" - touch "${romdir}/blobhashes" || \ - err "strip_archive: !touch ${blobdir}/blobhashes" + x_ rm -f "${romdir}/blobhashes" + x_ touch "${romdir}/blobhashes" ( - cd "${romdir}" || err "strip_archive: !cd ${romdir}" - sha512sum *.rom >> blobhashes || \ - err "strip_archive: ${romdir}: !sha512sum *.rom >> blobhashes" + x_ cd "${romdir}" + x_ sha512sum *.rom >> blobhashes ) for romfile in "${romdir}"/*.rom; do @@ -161,40 +141,32 @@ strip_ucode() { romfile=${1} _newrom_b="${romfile%.rom}_nomicrocode.tmprom" - cp "${romfile}" "${_newrom_b}" || \ - err "strip_rom_image: cp \"${romfile}\" \"${_newrom_b}\"" + x_ cp "${romfile}" "${_newrom_b}" microcode_present="y" "${cbfstool}" "${_newrom_b}" remove -n \ cpu_microcode_blob.bin 2>/dev/null || microcode_present="n" [ "${microcode_present}" = "n" ] || return 0 printf "REMARK: '%s' already lacks microcode\n" "${romfile}" 1>&2 printf "Renaming default ROM file instead.\n" 1>&2 - mv "${romfile}" "${_newrom_b}" || \ - err "strip_rom_image: can't rename no-u ${romfile}" + x_ mv "${romfile}" "${_newrom_b}" } strip_rom_image() { [ -f "${1}" ] || return 0 [ "${CONFIG_HAVE_ME_BIN}" != "y" ] || \ - "${ifdtool}" --nuke me "${1}" -O "${1}" || \ - err "strip_rom_images: ${1}: cannot nuke Intel ME" + x_ "${ifdtool}" --nuke me "${1}" -O "${1}" [ "${CONFIG_HAVE_MRC}" != "y" ] || \ - "${cbfstool}" "${1}" remove -n mrc.bin || \ - err "strip_rom_images: ${1}: cannot nuke mrc.bin" + x_ "${cbfstool}" "${1}" remove -n mrc.bin [ "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" != "y" ] || \ - "${cbfstool}" "${1}" remove -n sch5545_ecfw.bin || \ - err "strip_rom_images: ${1}: can't nuke sch5545ec fw" + x_ "${cbfstool}" "${1}" remove -n sch5545_ecfw.bin if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then - "${cbfstool}" "${1}" remove -n ecfw1.bin || \ - err "strip_rom_images: ${1}: can't nuke ecfw1.bin" - "${cbfstool}" "${1}" remove -n ecfw2.bin || \ - err "strip_rom_images: ${1}: can't nuke ecfw2.bin" + x_ "${cbfstool}" "${1}" remove -n ecfw1.bin + x_ "${cbfstool}" "${1}" remove -n ecfw2.bin fi # TODO: replace this board-specific hack [ "${target}" = "e6400_4mb" ] || return 0 - "${cbfstool}" "${1}" remove -n "pci10de,06eb.rom" || \ - err "strip_rom_images: ${1}: can't nuke e6400 vga rom" + x_ "${cbfstool}" "${1}" remove -n "pci10de,06eb.rom" } main $@ diff --git a/script/build/release/src b/script/build/release/src index 74854879..736276b4 100755 --- a/script/build/release/src +++ b/script/build/release/src @@ -45,31 +45,23 @@ create_release_directory() dirname="${projectname}-${version}_src" srcdir="${reldir}/${dirname}" - [ -d "release/" ] || mkdir -p release/ || \ - err "create_release_directory: !mkdir -p release/" - [ -d "${reldir}/" ] || mkdir -p "${reldir}/" || \ - err "create_release_directory: !mkdir -p ${reldir}/" - [ ! -d "${srcdir}/" ] || rm -Rf "${srcdir}/" || \ - err "create_release_directory: !rm -Rf ${srcdir}/" + [ -d "release/" ] || x_ mkdir -p release/ + [ -d "${reldir}/" ] || x_ mkdir -p "${reldir}/" + [ ! -d "${srcdir}/" ] || x_ rm -Rf "${srcdir}/" [ ! -f "${srcdir}.tar.xz" ] || \ - rm -f "${srcdir}.tar.xz/" || \ - err "create_release_directory: !rm -f ${srcdir}.tar.xz/" + x_ rm -f "${srcdir}.tar.xz/" - mkdir -p "${srcdir}/" || \ - err "create_release_directory: !mkdir -p ${srcdir}/" - printf "%s" "${version}" > "${srcdir}"/version || \ - err "create_release_directory: ${srcdir}/version: can't create file" + x_ mkdir -p "${srcdir}/" + x_ printf "%s" "${version}" > "${srcdir}"/version } download_modules() { for modname in ${trees_fetch_list}; do - [ -d "${modname}" ] || ./update project trees ${modname} || \ - err "download_modules: couldn't download ${modname} trees" + [ -d "${modname}" ] || x_ ./update project trees ${modname} done for modname in ${simple_fetch_list} ${download_only_list}; do - [ -d "${modname}/" ] || ./update project repo ${modname} || \ - err "download_modules: couldn't download ${modname} repo" + [ -d "${modname}/" ] || x_ ./update project repo ${modname} done } @@ -80,34 +72,27 @@ copy_files() for subdir in "${dir}"/*; do [ -d "${subdir}" ] || continue [ "${subdir##*/}" = "${dir}" ] && continue - mkdir -p "${srcdir}/${dir}" || \ - err "copy_files: !mkdir -p ${srcdir}/${dir}" + x_ mkdir -p "${srcdir}/${dir}" [ ! -d "${srcdir}/${dir}/${subdir##*/}" ] || \ - rm -Rf "${srcdir}/${dir}/${subdir##*/}" || \ - err "copy_f:can't rm ${srcdir}/${dir}/${subdir##*/}" - cp -R "${subdir}" "${srcdir}/${dir}/${subdir##*/}" || \ - err "copy_f:can't cp ${srcdir}/${dir}/${subdir##*/}" + x_ rm -Rf "${srcdir}/${dir}/${subdir##*/}" + x_ cp -R "${subdir}" "${srcdir}/${dir}/${subdir##*/}" done done for dir in ${simple_fetch_list} ${dirlist}; do - cp -R "${dir}/" "${srcdir}/" || \ - err "copy_files: !cp -R ${dir}/ ${srcdir}/" + x_ cp -R "${dir}/" "${srcdir}/" done for i in ${filelist}; do if [ ! -f "${i}" ]; then - rm -Rf "${srcdir}" || \ - err "copy_files: !rm -Rf ${srcdir}" + x_ rm -Rf "${srcdir}" err "copy_files: file '${i}' does not exist" fi - cp "${i}" "${srcdir}/" || \ - err "copy_files: !cp ${i} ${srcdir}/" + x_ cp "${i}" "${srcdir}/" done ( - cd "${srcdir}/" || err "copy_files: can't enter dir: ${srcdir}/" + x_ cd "${srcdir}/" for i in ${linklist}; do - ln -s lbmk "${i}" || \ - err "copy_files: cannot create symlink: ${i} -> lbmk" + x_ ln -s lbmk "${i}" done ) } @@ -115,55 +100,40 @@ copy_files() purge_files() { ( - cd "${srcdir}/" || err "purge_files 3: !cd ${srcdir}/" + x_ cd "${srcdir}/" [ ! -d "coreboot/default/util/kbc1126" ] || \ - ./handle make file -c "coreboot/default/util/kbc1126" || \ - err "purge_files 1: default/util/kbc1126: ! make clean" - ./handle make config -x coreboot || \ - err "purge_files: coreboot: cannot clean crossgcc files" + x_ ./handle make file -c "coreboot/default/util/kbc1126" + x_ ./handle make config -x coreboot for p in u-boot seabios coreboot; do - ./handle make config -c "${p}" || \ - err "purge_files: ${p}: cannot clean the source trees" + x_ ./handle make config -c "${p}" done for p in bios_extract flashrom grub uefitool; do - ./handle make file -c "${p}" || \ - err "purge_files: !./handle make file -c ${p}" + x_ ./handle make file -c "${p}" done for p in "stm32-vserprog" "stm32-vserprog/libopencm3"; do - ./handle make file -c "util-fw/${p}" || \ - err "purge_files !./handle make file util-fw/${p}" + x_ ./handle make file -c "util-fw/${p}" done for p in 32 64; do - ./handle make file -c "memtest86plus/build${p}" || \ - err "purge_files: cannot clean memtest86+ build${p}" + x_ ./handle make file -c "memtest86plus/build${p}" done for p in "nvmutil" "spkmodem_recv" "e6400-flash-unlock"; do - make clean -C "util/${p}" || \ - err "purge_files 2: !make clean -C ${util}/p" + x_ make clean -C "util/${p}" done for p in ${trees_fetch_list}; do - rm -Rf "${p}/${p}" "${p}"/*/.git* || \ - err "purge_files 1: cannot clean ${p} project files" + x_ rm -Rf "${p}/${p}" "${p}"/*/.git* done - rm -Rf .git* */.git* */*/.git* */*/*/.git* */*/*/*/.git* \ - */*/*/*/*/.git* */*/*/*/*/*/.git* */*/*/*/*/*/*/.git* || \ - err "purge_files rm-rf2: can't purge .git files/directories" - rm -Rf cbutils || err "purge_files: can't remove ${srcdir}/cbutils/" - rm -Rf elf || err "purge_files: can't remove ${srcdir}/elf/" - rm -Rf util-fw/rp2040/pico-serprog/build || \ - err "purge_files: can't remove pico-serprog/build" + x_ rm -Rf .git* */.git* */*/.git* */*/*/.git* */*/*/*/.git* \ + */*/*/*/*/.git* */*/*/*/*/*/.git* */*/*/*/*/*/*/.git* + x_ rm -Rf cbutils elf util-fw/rp2040/pico-serprog/build ) } create_release_archive() { ( - cd "${reldir}/" || \ - err "create_release_archive 4: !cd ${reldir}/" - tar -c "${dirname}/" | xz -T0 -9e >"${dirname}.tar.xz" || \ - err "create_release_archive: can't create ${dirname}.tar.xz" - rm -Rf "${dirname}/" || \ - err "create_release_archive 5: !rm -Rf ${dirname}/" + x_ cd "${reldir}/" + x_ tar -c "${dirname}/" | xz -T0 -9e >"${dirname}.tar.xz" + x_ rm -Rf "${dirname}/" ) } |