summaryrefslogtreecommitdiff
path: root/include/lib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib.sh')
-rwxr-xr-xinclude/lib.sh62
1 files changed, 22 insertions, 40 deletions
diff --git a/include/lib.sh b/include/lib.sh
index 27cf184f..e6a998d2 100755
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -10,9 +10,7 @@ _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"
+cbelfdir="elf/.coreboot_nopayload_DO_NOT_FLASH"
ifdtool="elf/ifdtool/default/ifdtool"
cbfstool="elf/cbfstool/default/cbfstool"
tmpgit="$PWD/tmp/gitclone"
@@ -21,8 +19,7 @@ err="err_"
err_()
{
- printf "ERROR %s: %s\n" "$0" "$1" 1>&2
- exit 1
+ printf "ERROR %s: %s\n" "$0" "$1" 1>&2; exit 1
}
setvars()
@@ -36,32 +33,28 @@ chkvars()
{
for var in $@; do
eval "[ -n "\${$var+x}" ] || \$err \"$var unset\""
- done
+ eval "[ -n "\$$var" ] || \$err \"$var unset\""
+ done; return 0
}
-eval `setvars "" tmpdir _nogit board boarddir relname versiondate projectsite \
- projectname aur_notice cfgsdir datadir version`
+eval `setvars "" _nogit board xbmk_parent versiondate projectsite projectname \
+ aur_notice cfgsdir datadir version relname`
for fv in projectname projectsite version versiondate; do
eval "[ ! -f "$fv" ] || read -r $fv < \"$fv\" || :"
-done
-chkvars projectname projectsite
+done; chkvars projectname projectsite
setcfg()
{
- if [ $# -gt 1 ]; then
- printf "e \"%s\" f missing && return %s;\n" "$1" "$2"
- else
- printf "e \"%s\" f missing && %s \"Missing config\";\n" "$1" \
- "$err"
- fi
+ [ $# -gt 1 ] && printf "e \"%s\" f missing && return %s;\n" "$1" "$2"
+ [ $# -gt 1 ] || \
+ printf "e \"%s\" f not && %s \"Missing config\";\n" "$1" "$err"
printf ". \"%s\" || %s \"Could not read config\";\n" "$1" "$err"
}
e()
{
- es_t="e"
- [ $# -gt 1 ] && es_t="$2"
+ es_t="e" && [ $# -gt 1 ] && es_t="$2"
es2="already exists"
estr="[ -$es_t \"\$1\" ] || return 1"
[ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing"
@@ -85,19 +78,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"
@@ -115,8 +104,8 @@ x_() {
[ -e ".git" ] || [ -f "version" ] || printf "unknown\n" > version || \
$err "Cannot generate unknown version file"
-[ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate || \
- $err "Cannot generate unknown versiondate file"
+[ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate \
+ || $err "Cannot generate unknown versiondate file"
version_="$version"
[ ! -e ".git" ] || version="$(git describe --tags HEAD 2>&1)" || \
@@ -136,7 +125,7 @@ check_defconfig()
[ -d "$1" ] || $err "Target '$1' not defined."
for x in "$1"/config/*; do
[ -f "$x" ] && printf "%s\n" "$x" && return 1
- done
+ done; return 0
}
remkdir()
@@ -145,12 +134,6 @@ remkdir()
mkdir -p "$1" || $err "remkdir: !mkdir -p \"$1\""
}
-git_err()
-{
- printf "You need to set git name/email, like so:\n%s\n\n" "$1" 1>&2
- $err "Git name/email not configured"
-}
-
mkrom_tarball()
{
printf "%s\n" "$version" > "$1/version" || $err "$1 !version"
@@ -192,9 +175,8 @@ rmgit()
singletree()
{
for targetfile in "config/${1}/"*/target.cfg; do
- [ -e "$targetfile" ] || continue
- [ -f "$targetfile" ] && return 1
- done
+ [ -e "$targetfile" ] && [ -f "$targetfile" ] && return 1
+ done; return 0
}
download()