build-docbook-catalog: avoid usage of non-portable flock Solaris has no flock(1), hence use shell-provided until instead to simulate lock. --- build-docbook-catalog +++ build-docbook-catalog @@ -65,10 +65,14 @@ mkdir -p "${ROOT}${ROOTCONFDIR}" || error "could not create ${ROOTCONFDIR}" fi + local lock="${ROOT}${ROOTCONFDIR}"/build-docbook-catalog-lock ( # Lock the dir to avoid trashing other runs that might # be running parallel. - flock 123 || error "unable to lock ${ROOTCONFDIR}" + touch "${lock}".$$ && \ + until ln "${lock}".$$ "${lock}" 2>/dev/null; do sleep 1; done && \ + rm "${lock}".$$ + [[ -f ${lock}.$$ ]] && error "unable to lock ${ROOTCONFDIR}" create_catalogs # will exit on error for type in xsl xsl-ns xsl-saxon xsl-xalan; do @@ -90,7 +94,8 @@ populate_entities fi - ) 123>"${ROOT}${ROOTCONFDIR}/.keep" + ) + rm "${lock}" exit 0 }