46 lines
1,001 B
Bash
Executable file
46 lines
1,001 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
cd "$(readlink -f "$(dirname "$0")")/.."
|
|
|
|
if [ -n "${PROJECT}" -a "$1" != "auto" ]; then
|
|
. config/options ""
|
|
fi
|
|
|
|
_find_latest_tcdir() {
|
|
local IFS=$'\n'
|
|
|
|
if [ -n "${THREAD_CONTROL}" ]; then
|
|
echo "${THREAD_CONTROL}"
|
|
else
|
|
for dir in $(ls -1td "${PWD}"/build.*/.threads 2>/dev/null); do
|
|
[ -f "${dir}/parallel.pid" ] && echo "${dir}" && break
|
|
done
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
while [ : ]; do
|
|
echo "Waiting for build to start..."
|
|
|
|
while [ : ]; do
|
|
tcdir="$(_find_latest_tcdir)"
|
|
|
|
if [ -n "${tcdir}" ]; then
|
|
pid="$(cat "${tcdir}/parallel.pid" 2>/dev/null || true)"
|
|
[ -n "${pid}" ] && ps -p ${pid} &>/dev/null && break
|
|
fi
|
|
|
|
sleep 1.0
|
|
done
|
|
|
|
if [ "${THREADCOUNT}" = "0" ]; then
|
|
tail -Fn+0 --pid=${pid} "${tcdir}/status" 2>/dev/null | grep -vE "STALLED|IDLE"
|
|
else
|
|
tail -Fn+0 --pid=${pid} "${tcdir}/status" 2>/dev/null
|
|
fi
|
|
|
|
echo
|
|
done
|