diff --git a/hack/lib/util.sh b/hack/lib/util.sh index 43e7226597c..01f8b4bc765 100755 --- a/hack/lib/util.sh +++ b/hack/lib/util.sh @@ -208,7 +208,12 @@ kube::util::find-binary-for-platform() { locations+=("$location"); done < <(find "${KUBE_ROOT}/bazel-bin/" -type f -executable \ \( -path "*/${platform/\//_}*/${lookfor}" -o -path "*/${lookfor}" \) 2>/dev/null || true) - + # search for executables for non-GNU versions of find (eg. BSD) + while IFS=$'\n' read -r location; do + locations+=("$location"); + done < <(find "${KUBE_ROOT}/bazel-bin/" -type f -perm -111 \ + \( -path "*/${platform/\//_}*/${lookfor}" -o -path "*/${lookfor}" \) 2>/dev/null || true) + # List most recently-updated location. local -r bin=$( (ls -t "${locations[@]}" 2>/dev/null || true) | head -1 ) echo -n "${bin}"