diff options
-rw-r--r-- | include/init.sh (renamed from include/lib.sh) | 125 | ||||
-rwxr-xr-x | mk | 2 |
2 files changed, 62 insertions, 65 deletions
diff --git a/include/lib.sh b/include/init.sh index ef32ae6c..55708b0f 100644 --- a/include/lib.sh +++ b/include/init.sh @@ -57,12 +57,42 @@ xbmk_init() eval "[ ! -f \".$fv\" ] || read -r $fv < \".$fv\" || :" done - for xbmk_cmd in x_python x_cache x_vars x_setver x_run_child; do + for xbmk_cmd in setpyver init_vars init_ver xbmk_child_init; do $xbmk_cmd "$@" done } -x_python() +install_packages() +{ + [ $# -lt 2 ] && $err "fewer than two arguments" + [ $# -gt 2 ] && reinstall="$3" + + eval "`setcfg "config/dependencies/$2"`" + + chkvars pkg_add pkglist + $pkg_add $pkglist || $err "Cannot install packages" + + [ -n "$aur_notice" ] && \ + printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; : +} + +setcfg() +{ + [ $# -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" +} + +chkvars() +{ + for var in "$@"; do + eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\"" + eval "[ -n \"\$$var\" ] || \$err \"$var unset\"" + done; : +} + +setpyver() { pyv="import sys; print(sys.version_info[:])" python="python3" @@ -112,7 +142,7 @@ pybin() command -v "$1" 2>/dev/null || return 1 } -x_cache() +init_vars() { # XBMK_CACHE is a directory, for caching downloads and git repon [ -z "${XBMK_CACHE+x}" ] && export XBMK_CACHE="$xbmkpwd/cache" @@ -121,10 +151,7 @@ x_cache() $err "cachedir '$xbmkpwd/cache' is a symlink" [ -L "$XBMK_CACHE" ] && export XBMK_CACHE="$xbmkpwd/cache" [ -f "$XBMK_CACHE" ] && $err "cachedir '$XBMK_CACHE' is a file"; : -} -x_vars() -{ # if "y": a coreboot target won't be built if target.cfg says release="n" # (this is used to exclude certain build targets from releases) [ -z "${XBMK_RELEASE+x}" ] && export XBMK_RELEASE="n" @@ -140,7 +167,7 @@ x_vars() .versiondate || $err "Cannot generate unknown .versiondate file" } -x_setver() +init_ver() { version_="$version" [ ! -e ".git" ] || version="$(git describe --tags HEAD 2>&1)" || \ @@ -158,7 +185,7 @@ x_setver() } # if this instance is the main parent, re-run as a child process and exit. -x_run_child() +xbmk_child_init() { # unify all temporary files/directories in a single TMPDIR [ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || \ @@ -190,53 +217,9 @@ x_run_child() exit $xbmk_rval } -chkvars() -{ - for var in "$@"; do - eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\"" - eval "[ -n \"\$$var\" ] || \$err \"$var unset\"" - done; : -} - -setcfg() -{ - [ $# -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" - es2="already exists" - estr="[ -$es_t \"\$1\" ] || return 1" - [ $# -gt 2 ] && estr="[ -$es_t \"\$1\" ] && return 1" && es2="missing" - - eval "$estr" - printf "%s %s\n" "$1" "$es2" 1>&2 -} - -install_packages() -{ - [ $# -lt 2 ] && $err "fewer than two arguments" - [ $# -gt 2 ] && reinstall="$3" - - eval "`setcfg "config/dependencies/$2"`" - - chkvars pkg_add pkglist - $pkg_add $pkglist || $err "Cannot install packages" - - [ -n "$aur_notice" ] && \ - printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; : -} - -check_defconfig() +x_() { - [ -d "$1" ] || $err "Target '$1' not defined." - for x in "$1"/config/*; do - [ -f "$x" ] && printf "%s\n" "$x" && return 1 - done; : + [ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; : } remkdir() @@ -327,16 +310,15 @@ vendor_checksum() printf "Bad checksum for file: %s\n" "$2" 1>&2; rm -f "$2" || :; : } -cbfs() +e() { - ccmd="add-payload" && [ $# -gt 3 ] && [ $# -lt 5 ] && ccmd="add" - lzma="-c lzma" && [ $# -gt 3 ] && [ $# -lt 5 ] && lzma="-t $4" - - [ $# -gt 4 ] && [ "$5" = "0x1110000" ] && \ - ccmd="add-flat-binary" && \ - lzma="-c lzma -l 0x1110000 -e 0x1110000" + 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" - x_ "$cbfstool" "$1" $ccmd -f "$2" -n "$3" $lzma + eval "$estr" + printf "%s %s\n" "$1" "$es2" 1>&2 } mk() @@ -347,9 +329,24 @@ mk() done; : } -x_() +check_defconfig() { - [ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; : + [ -d "$1" ] || $err "Target '$1' not defined." + for x in "$1"/config/*; do + [ -f "$x" ] && printf "%s\n" "$x" && return 1 + done; : +} + +cbfs() +{ + ccmd="add-payload" && [ $# -gt 3 ] && [ $# -lt 5 ] && ccmd="add" + lzma="-c lzma" && [ $# -gt 3 ] && [ $# -lt 5 ] && lzma="-t $4" + + [ $# -gt 4 ] && [ "$5" = "0x1110000" ] && \ + ccmd="add-flat-binary" && \ + lzma="-c lzma -l 0x1110000 -e 0x1110000" + + x_ "$cbfstool" "$1" $ccmd -f "$2" -n "$3" $lzma } xbmk_init "$@" @@ -12,7 +12,7 @@ if [ "./${0##*/}" != "${0}" ] || [ ! -f "mk" ] || [ -L "mk" ]; then exit 1 fi -. "include/lib.sh" +. "include/init.sh" . "include/vendor.sh" . "include/mrc.sh" |