From 9457d6be52e5f409566dabc10dd5435102b2e760 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 27 Aug 2023 14:14:49 +0100 Subject: unified list command for all scripts e.g. ./build boot roms list ./update blobs inject listboards ./build boot list ./build clean list also this is now possible: ./build list or maybe ./update list ^ would list directories in resources/scripts/build and resources/scripts/update respectively this script is added: resources/scripts/build/command/options call it like so, e.g. ./build command options resources/coreboot this script is now used, for list functions in other scripts. Signed-off-by: Leah Rowe --- resources/scripts/build/boot/roms | 23 +++++++---------------- resources/scripts/build/command/options | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 16 deletions(-) create mode 100755 resources/scripts/build/command/options (limited to 'resources/scripts/build') diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms index 0aedfdb1..a19d9445 100755 --- a/resources/scripts/build/boot/roms +++ b/resources/scripts/build/boot/roms @@ -42,7 +42,8 @@ main() firstoption="${1}" [ "${firstoption}" = "help" ] && usage && exit 0 - [ "${firstoption}" = "list" ] && listboards && exit 0 + [ "${firstoption}" = "list" ] && \ + ./build command options resources/coreboot && exit 0 while [ $# -gt 0 ]; do case ${1} in @@ -65,8 +66,8 @@ main() printf "Building %s ROM images\n" "${projectname}" if [ "${firstoption}" = "all" ]; then - for boardname in $(listboards); do - buildrom "${boardname}" || err "build/roms (1): error" + for target in $(./build command options resources/coreboot); do + buildrom "${target}" || err "build/roms (1): error" done else for board in ${boards}; do @@ -80,7 +81,7 @@ main() usage() { cat <<- EOF - USAGE: ./build boot roms boardname + USAGE: ./build boot roms target To build *all* boards, do this: ./build boot roms all To list *all* boards, do this: ./build boot roms list @@ -94,23 +95,13 @@ usage() ./build boot roms x200_8mb x60 ./build boot roms x60 -p grub -d corebootfb -k usqwerty - possible values for 'boardname': - $(listboards) + possible values for 'target': + $(./build command options "resources/coreboot") Refer to the ${projectname} documentation for more information. EOF } -listboards() -{ - for boarddir in resources/coreboot/*; do - [ -d "${boarddir}" ] || continue - board="${boarddir##resources/coreboot/}" - board="${board%/}" - printf '%s\n' "${board##*/}" - done -} - # Build ROM images for supported boards buildrom() { [ -d "resources/coreboot/${1}/" ] || \ diff --git a/resources/scripts/build/command/options b/resources/scripts/build/command/options new file mode 100755 index 00000000..84a9a3fb --- /dev/null +++ b/resources/scripts/build/command/options @@ -0,0 +1,31 @@ +#!/usr/bin/env sh + +# Copyright (c) 2023 Leah Rowe +# SPDX-License-Identifier: MIT + +. "include/err.sh" + +items=1 + +main() +{ + [ $# -gt 0 ] || \ + err "No argument given" + listitems "${1}" || err "No items present under: ${1}" +} + +listitems() +{ + [ -d "${1}" ] || \ + err "Directory not does exist: ${1}" + for x in "${1}/"*; do + # -e used because this is for files *or* directories + [ -e "${x}" ] || continue + [ "${x##*/}" = "build.list" ] && continue + printf "%s\n" "${x##*/}" + items=0 + done + return ${items} +} + +main $@ -- cgit v1.2.1