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
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
|
|
}
|