Date: Wed, 29 Apr 2020 08:30:56 +0000 (UTC) From: Marc Fonvieille <blackend@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r54081 - in head/share: mk pgpkeys Message-ID: <202004290830.03T8UuCF024553@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: blackend Date: Wed Apr 29 08:30:56 2020 New Revision: 54081 URL: https://svnweb.freebsd.org/changeset/doc/54081 Log: - Tidy up .ps.eps target to make sure the build really fails when a problem occurs during conversion. Currently the build doesn't stop on failures and runs to its end; - Add some .DELETE_ON_ERROR targets to remove broken target files on failures. Submitted by: mandree Reviewed by: blackend Differential Revision: https://reviews.freebsd.org/D24560 Modified: head/share/mk/doc.images.mk head/share/pgpkeys/Makefile Modified: head/share/mk/doc.images.mk ============================================================================== --- head/share/mk/doc.images.mk Wed Apr 29 07:48:03 2020 (r54080) +++ head/share/mk/doc.images.mk Wed Apr 29 08:30:56 2020 (r54081) @@ -96,6 +96,13 @@ EPS2PNM_RES?= 100 # Use suffix rules to convert .scr files to other formats .SUFFIXES: .scr .pic .png .ps .eps .txt +# +# There are many rules around here that use > ${.TARGET} +# so that on failure, may leave corrupt files behind. +# Make sure to remove them. +# +.DELETE_ON_ERROR: + .scr.png: ${SCR2PNG} ${SCR2PNGOPTS} < ${.IMPSRC} > ${.TARGET} @@ -145,8 +152,8 @@ EPS2PNM_RES?= 100 # (the older versions calculated BBox directly in ps2epsi.ps). .ps.eps: tmpfile=$$(mktemp ${.TARGET}.XXXXXXXX); \ - ${PS2BBOX} ${PS2BBOXOPTS} ${.ALLSRC} > $$tmpfile 2>&1; \ - ${SETENV} outfile=$$tmpfile ${PS2EPS} ${PS2EPSOPTS} < ${.ALLSRC} 1>&2; \ + ${PS2BBOX} ${PS2BBOXOPTS} ${.ALLSRC} 2> $$tmpfile >$$tmpfile.err && \ + ${SETENV} outfile=$$tmpfile ${PS2EPS} ${PS2EPSOPTS} < ${.ALLSRC} >>$$tmpfile.err 2>&1 && \ (echo "save countdictstack mark newpath /showpage {} def /setpagedevice {pop} def";\ echo "%%EndProlog";\ echo "%%Page: 1 1";\ @@ -161,7 +168,9 @@ EPS2PNM_RES?= 100 echo "cleartomark countdictstack exch sub { end } repeat restore";\ echo "%%EOF";\ ) >> $$tmpfile; \ - ${MV} -f $$tmpfile ${.TARGET} + test ! -s $$tmpfile.err && \ + { ${MV} -f $$tmpfile ${.TARGET} ; ${RM} -f $$tmpfile.err ; } \ + || { ${CAT} $$tmpfile.err ; ${RM} -f $$tmpfile.err $$tmpfile ; false ; } # We can't use suffix rules to generate the rules to convert EPS to PNG and # PNG to EPS. This is because a .png file can depend on a .eps file, and Modified: head/share/pgpkeys/Makefile ============================================================================== --- head/share/pgpkeys/Makefile Wed Apr 29 07:48:03 2020 (r54080) +++ head/share/pgpkeys/Makefile Wed Apr 29 08:30:56 2020 (r54081) @@ -10,6 +10,8 @@ CLEANFILES= pgpkeyring.txt keyring.xml .ORDER: pgpkeyring pgpkeyring.txt .ORDER: keyring.xml pgpkeyring.txt +.DELETE_ON_ERROR: + all: keyring.xml pgpkeyring pgpkeyring.txt keyring.xml: .PHONY
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004290830.03T8UuCF024553>