On Tue, Dec 3, 2024 at 03:58:20PM -0500, Bruce Momjian wrote: > On Tue, Dec 3, 2024 at 09:05:45PM +0100, Peter Eisentraut wrote: > > On 26.11.24 20:04, Bruce Momjian wrote: > > > %.pdf: %.fo $(ALL_IMAGES) > > > - $(FOP) -fo $< -pdf $@ > > > + LANG=C $(FOP) -fo $< -pdf $@ 2>&1 | \ > > > + awk 'BEGIN { warn = 0 } { print }/not available in font/ { warn = 1 } > > > \ > > > + END { if (warn != 0) print("\nFound characters that cannot be displayed > > > in the PDF document") }' 1>&2 > > > > Wouldn't that lose the exit code from the fop execution? > > Yikes, I think it would. Let me work on a fix now.
Fixed in the attached applied patch. Glad you saw this mistake. -- Bruce Momjian <br...@momjian.us> https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.
diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 4a08b6f433e..9d52715ff4b 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -156,9 +156,11 @@ XSLTPROC_FO_FLAGS += --stringparam img.src.path '$(srcdir)/' $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_FO_FLAGS) --stringparam paper.type USletter -o $@ $^ %.pdf: %.fo $(ALL_IMAGES) - LANG=C $(FOP) -fo $< -pdf $@ 2>&1 | \ - awk 'BEGIN { warn = 0 } { print } /not available in font/ { warn = 1 } \ - END { if (warn != 0) print("\nFound characters that cannot be output in the PDF document; see README.non-ASCII") }' 1>&2 + @# There is no easy way to pipe output and capture its return code, so output a special string on failure. + { LANG=C $(FOP) -fo $< -pdf $@ 2>&1; [ "$$?" -ne 0 ] && echo "FOP_ERROR"; } | \ + awk 'BEGIN { warn = 0 } ! /^FOP_ERROR$$/ { print } /not available in font/ { warn = 1 } \ + END { if (warn != 0) print("\nFound characters that cannot be output in the PDF document; see README.non-ASCII"); \ + if ($$0 ~ /^FOP_ERROR$$/) { exit 1} }' 1>&2 ##