You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
889 B

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
}