1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-29 16:21:20 +03:00

Return actual error code from FOP failure in PDF build

Previously we returned "1" on error.  Improvement on 77c189cdafe.

Backpatch-through: master
This commit is contained in:
Bruce Momjian 2024-12-04 14:37:24 -05:00
parent dfbb092cff
commit 24c1c63387

View File

@ -155,12 +155,13 @@ XSLTPROC_FO_FLAGS += --stringparam img.src.path '$(srcdir)/'
%-US.fo: stylesheet-fo.xsl %-full.xml
$(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_FO_FLAGS) --stringparam paper.type USletter -o $@ $^
# There is no easy way to pipe output and capture its return code,
# so add a final line to report the return code.
%.pdf: %.fo $(ALL_IMAGES)
@# 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 } \
{ LANG=C $(FOP) -fo $< -pdf $@ 2>&1; echo "FOP_RETURN $$?"; } | \
$(AWK) 'BEGIN { warn = 0 } $$1 != "FOP_RETURN" { 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
if ($$2 != 0) { exit $$2} }' 1>&2
##