From fac74cd60a3d90e6e0df971b481a55b0a01050c4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 27 Jun 2024 03:18:23 +0100 Subject: lib.sh: simplified TMPDIR handling Signed-off-by: Leah Rowe --- build | 8 ++++---- include/lib.sh | 21 ++++++++------------- include/vendor.sh | 4 ++-- script/roms | 10 +++++----- 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/build b/build index ef5a1109..6eae3aac 100755 --- a/build +++ b/build @@ -125,16 +125,16 @@ fetch_trees() fail() { - tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$tmpdir" 1>&2 + tmp_cleanup || printf "WARNING: can't rm tmpfiles: %s\n" "$TMPDIR" 1>&2 err_ "${1}" } tmp_cleanup() { - [ "$tmpdir_was_set" = "n" ] || return 0 - rm -Rf "$tmpdir" || return 1 + [ "$xbmk_parent" = "y" ] || return 0 + rm -Rf "$TMPDIR" || return 1 rm -f lock || return 1 } main $@ -tmp_cleanup || err_ "can't rm tmpdir upon non-zero exit: $tmpdir" +tmp_cleanup || err_ "can't rm TMPDIR upon non-zero exit: $TMPDIR" diff --git a/include/lib.sh b/include/lib.sh index c57bbd0d..8b896f6b 100755 --- a/include/lib.sh +++ b/include/lib.sh @@ -10,7 +10,6 @@ _ua="Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0" kbnotice="Insert a .gkb file from config/data/grub/keymap/ as keymap.gkb \ if you want a custom keymap in GRUB; use cbfstool from elf/cbfstool." -tmpdir_was_set="y" cbdir="src/coreboot/default" cbelfdir="elf/coreboot_nopayload_DO_NOT_FLASH" ifdtool="elf/ifdtool/default/ifdtool" @@ -39,8 +38,8 @@ chkvars() done } -eval `setvars "" tmpdir _nogit board boarddir relname versiondate projectsite \ - projectname aur_notice cfgsdir datadir version` +eval `setvars "" _nogit board boarddir relname versiondate projectsite \ + projectname aur_notice cfgsdir datadir version xbmk_parent` for fv in projectname projectsite version versiondate; do eval "[ ! -f "$fv" ] || read -r $fv < \"$fv\" || :" @@ -82,19 +81,15 @@ install_packages() id -u 1>/dev/null 2>/dev/null || $err "suid check failed (id -u)" [ "$(id -u)" != "0" ] || $err "this command as root is not permitted" -[ -z "${TMPDIR+x}" ] && tmpdir_was_set="n" -if [ "$tmpdir_was_set" = "y" ]; then - [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || tmpdir_was_set="n" -fi -if [ "$tmpdir_was_set" = "n" ]; then +[ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || unset TMPDIR +[ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR" + +if [ -z "${TMPDIR+x}" ]; then [ -f "lock" ] && $err "$PWD/lock exists. Is a build running?" export TMPDIR="/tmp" - tmpdir="$(mktemp -d -t xbmk_XXXXXXXX)" - export TMPDIR="$tmpdir" + export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)" touch lock || $err "cannot create 'lock' file" -else - export TMPDIR="$TMPDIR" - tmpdir="$TMPDIR" + xbmk_parent="y" fi # if "y": a coreboot target won't be built if target.cfg says release="n" diff --git a/include/vendor.sh b/include/vendor.sh index 949ffc48..d1a243e3 100755 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -41,10 +41,10 @@ getcfg() [ -z "$vcfg" ] && printf "%s: vcfg unset\n" "$board" 1>&2 && return 1 - check_defconfig "$boarddir" 1>"$tmpdir/vendorcfg.list" && return 1 + check_defconfig "$boarddir" 1>"$TMPDIR/vendorcfg.list" && return 1 while read -r cbcfgfile; do set +u +e; . "$cbcfgfile" 2>/dev/null; set -u -e - done < "$tmpdir/vendorcfg.list" + done < "$TMPDIR/vendorcfg.list" [ -z "$tree" ] && $err "getcfg $boarddir: tree undefined" cbdir="src/coreboot/$tree" diff --git a/script/roms b/script/roms index 63a4921b..f5c90c13 100755 --- a/script/roms +++ b/script/roms @@ -10,7 +10,7 @@ set -u -e . "include/lib.sh" -tmprom="$tmpdir/rom" +tmprom="$TMPDIR/rom" seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin" cfgsdir="config/coreboot" @@ -49,8 +49,8 @@ main() config/coreboot)" || $err "can't list coreboot boards" [ -n "$ser" ] && \ - eval "serlist \"\$${ser}dir\" > \"\$tmpdir/ser\" || $err \"!ser\"" - [ -n "$ser" ] && [ -z "$boards" ] && boards="$(cat "$tmpdir/ser")" + eval "serlist \"\$${ser}dir\" > \"\$TMPDIR/ser\" || $err \"!ser\"" + [ -n "$ser" ] && [ -z "$boards" ] && boards="$(cat "$TMPDIR/ser")" for x in $boards; do [ -n "$ser" ] && mkserprogfw "$ser" "$x" @@ -173,8 +173,8 @@ add_seabios_payload() x_ ./update trees -b grub $grubtree cbfs "$tmprom" "$grubelf" "img/grub2" printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \ - > "$tmpdir/tmpcfg" || $err "$board: !insert scandisk" - cbfs "$tmprom" "$tmpdir/tmpcfg" scan.cfg raw + > "$TMPDIR/tmpcfg" || $err "$board: !insert scandisk" + cbfs "$tmprom" "$TMPDIR/tmpcfg" scan.cfg raw fi [ "$payload_memtest" = "y" ] && x_ ./update trees -b memtest86plus && \ -- cgit v1.2.1