Return actual error code from FOP failure in PDF build
authorBruce Momjian <[email protected]>
Wed, 4 Dec 2024 19:37:24 +0000 (14:37 -0500)
committerBruce Momjian <[email protected]>
Wed, 4 Dec 2024 19:37:24 +0000 (14:37 -0500)
Previously we returned "1" on error.  Improvement on 77c189cdafe.

Back-through: master

doc/src/sgml/Makefile

index 8475d9e965fe3c4ba3aedaf629461baf716fc395..076b12898eb63fc0f8bc75eb4daa62514c76df76 100644 (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
 
 
 ##