summaryrefslogtreecommitdiff
path: root/setup
diff options
context:
space:
mode:
authorMaksym Sloyko <maxims@google.com>2020-12-09 01:11:38 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-01-28 01:00:40 +0300
commitf197793a823fd9ddbb31a21a465933734e626e24 (patch)
tree3a2247f9f1ca0f4eefe720caf151b902b3a88cb7 /setup
parent49054bcb324c0bdd5916ad360bf500db9d9be508 (diff)
downloadopenbmc-f197793a823fd9ddbb31a21a465933734e626e24.tar.xz
setup: support any level of machine conf depth
Modify setup script to support any level of machine conf depth. Internally Google uses machines that sit yet another layer deep in the repository. Instead of adding yet another level of depth to the expansion, look for all configs using `find`, if it's available. If it's not, ball back to the old wildcard expansion. Signed-off-by: Maksym Sloyko <maxims@google.com> Change-Id: I1066fe5f6ece4454e3555ca97f75bd91d6da1dba
Diffstat (limited to 'setup')
-rwxr-xr-xsetup14
1 files changed, 13 insertions, 1 deletions
diff --git a/setup b/setup
index a5e90474d..57b3ded72 100755
--- a/setup
+++ b/setup
@@ -31,7 +31,19 @@ machine() {
local target=$1
local build_dir=$2
local cfg name tmpl
- for cfg in meta-*/meta-*/conf/machine/*.conf meta-*/conf/machine/*.conf; do
+ local configs
+
+ # zsh requires wordsplit so that variable expansion behaves like bash
+ if [ -n "$ZSH_NAME" ]; then
+ setopt local_options shwordsplit
+ fi
+ if which find > /dev/null 2>&1; then
+ configs=$(find meta-* -path "*/conf/machine/*.conf")
+ else
+ configs=$(ls -1 meta-*/meta-*/conf/machine/*.conf meta-*/conf/machine/*.conf)
+ fi
+
+ for cfg in $configs; do
name=${cfg##*/}
name=${name%.conf}
tmpl=${cfg%/machine/*.conf}