Merge pull request #3319 from MilhouseVH/le10_mt_fixup2

buildsystem: more fixes as required
This commit is contained in:
CvH 2019-02-18 20:53:23 +01:00 committed by GitHub
commit eef940cc5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 12 deletions

View File

@ -1219,17 +1219,17 @@ pkg_lock() {
local pkg="$1" task="$2" parent_pkg="$3"
local this_job="${MTJOBID}"
local lock_job lock_task lock_pkg
local lock_job lock_seq lock_task lock_pkg
local fail_seq
exec 98>"${THREAD_CONTROL}/locks/${pkg}.${task}"
if ! flock --nonblock --exclusive 98; then
while [ : ]; do
read -r lock_job lock_task lock_pkg <<<$(cat "${THREAD_CONTROL}/locks/${pkg}.${task}.owner" 2>/dev/null)
read -r lock_job lock_seq lock_task lock_pkg <<<$(cat "${THREAD_CONTROL}/locks/${pkg}.${task}.owner" 2>/dev/null)
[ -n "${lock_job}" ] && break || sleep 1
done
if [ ${lock_job} != ${this_job} ]; then
if [ "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "STALLED" "${parent_pkg}" "${task}" "$(printf "waiting on [%02d] %s %s" ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 98
fi
@ -1251,8 +1251,6 @@ EOF
return 1
fi
echo "${this_job} ${task} ${pkg}" >"${THREAD_CONTROL}/locks/${pkg}.${task}.owner"
pkg_lock_status "LOCKED" "${pkg}" "${task}"
}
@ -1273,6 +1271,7 @@ pkg_lock_status() {
if [ "${status}" = "LOCKED" ]; then
echo "${PARALLEL_SEQ}" > "${THREAD_CONTROL}/locks/${pkg}.${task}.failed"
echo "${this_job} ${PARALLEL_SEQ} ${task} ${pkg}" >"${THREAD_CONTROL}/locks/${pkg}.${task}.owner"
elif [ "${status}" = "UNLOCK" ]; then
rm "${THREAD_CONTROL}/locks/${pkg}.${task}.failed"
fi
@ -1336,23 +1335,24 @@ acquire_exclusive_lock() {
local pkg="$1" task="$2" lockfile="${3:-global}"
local this_job="${MTJOBID}"
local lock_job lock_task lock_pkg
local lock_job lock_seq lock_task lock_pkg
exec 96>"${THREAD_CONTROL}/locks/.mutex.${lockfile}"
if ! flock --nonblock --exclusive 96; then
while [ : ]; do
read -r lock_job lock_task lock_pkg <<<$(cat "${THREAD_CONTROL}/locks/.mutex.${lockfile}.owner" 2>/dev/null)
read -r lock_job lock_seq lock_task lock_pkg <<<$(cat "${THREAD_CONTROL}/locks/.mutex.${lockfile}.owner" 2>/dev/null)
[ -n "${lock_job}" ] && break || sleep 1
done
if [ ${lock_job} != ${this_job} ]; then
if [ "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "MUTEX/W" "${pkg}" "${task}" "$(printf "mutex: %s; waiting on [%02d] %s %s" "${lockfile}" ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 96
fi
fi
echo "${this_job} ${task} ${pkg}" >"${THREAD_CONTROL}/locks/.mutex.${lockfile}.owner"
pkg_lock_status "MUTEX" "${pkg}" "${task}" "mutex: ${lockfile}"
echo "${this_job} ${PARALLEL_SEQ} ${task} ${pkg}" >"${THREAD_CONTROL}/locks/.mutex.${lockfile}.owner"
}
release_exclusive_lock() {
@ -1360,9 +1360,9 @@ release_exclusive_lock() {
local pkg="$1" task="$2"
flock --unlock 96 2>/dev/null
pkg_lock_status "ACTIVE" "${pkg}" "${task}"
flock --unlock 96 2>/dev/null
}
# Execute single command using mutex

View File

@ -7,7 +7,7 @@ PKG_SHA256="4709f05395ccbad6c0a5b40a4619d60aafe3473b1a79bafb3aa700b1f756fd63"
PKG_LICENSE="LGPL"
PKG_SITE="https://vgough.github.io/encfs/"
PKG_URL="https://github.com/vgough/encfs/releases/download/v$PKG_VERSION/encfs-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain fuse"
PKG_DEPENDS_TARGET="toolchain fuse openssl"
PKG_LONGDESC="A Encrypted Filesystem for FUSE."
PKG_CMAKE_OPTS_TARGET="-DCMAKE_INSTALL_PREFIX=/usr \