mk/subst.mk: always remove temporary file

Fixes PR pkg/55364.
This commit is contained in:
rillig 2020-06-11 18:04:41 +00:00
parent c2ae91afdb
commit 1fb832cc6e
2 changed files with 7 additions and 11 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: subst.mk,v 1.95 2020/06/03 10:56:46 gdt Exp $
# $NetBSD: subst.mk,v 1.96 2020/06/11 18:04:41 rillig Exp $
#
# The subst framework replaces text in one or more files in the WRKSRC
# directory. Packages can define several ``classes'' of replacements.
@ -204,11 +204,9 @@ ${_SUBST_COOKIE.${class}}:
${CMP} -s "$$tmpfile" "$$file" && { \
${AWK} -f ${PKGSRCDIR}/mk/scripts/subst-identity.awk -- ${SUBST_SED.${class}} \
&& found=$$(LC_ALL=C ${SED} -n ${SUBST_SED.${class}:C,^['"]?s.*,&p,} "$$file") \
&& [ -n "$$found" ] && { \
changed=yes; \
continue; \
}; \
${_SUBST_WARN.${class}} "Nothing changed in \"$$file\"."; \
&& [ -n "$$found" ] \
&& changed=yes \
|| ${_SUBST_WARN.${class}} "Nothing changed in \"$$file\"."; \
${RM} -f "$$tmpfile"; \
continue; \
}; \

View file

@ -1,5 +1,5 @@
#! /bin/sh
# $NetBSD: subst.sh,v 1.47 2020/06/11 17:57:11 rillig Exp $
# $NetBSD: subst.sh,v 1.48 2020/06/11 18:04:41 rillig Exp $
#
# Tests for mk/subst.mk.
#
@ -1388,10 +1388,8 @@ if test_case_begin 'identity substitution, found in file'; then
assert_that "$tmpdir/output" --file-is-lines \
'=> Substituting "id" in file'
# demonstrate PR pkg/55364
# FIXME: negate
if [ ! -f "file.subst.sav" ]; then
assert_fail 'FIXME: temporary file still exists\n'
if [ -f "file.subst.sav" ]; then
assert_fail 'temporary file still exists\n'
fi
test_case_end