From: Michał Górny Date: Fri, 7 Apr 2023 18:23:59 +0000 (+0000) Subject: gh-100220: Fix error handling in make rules (GH-100328) X-Git-Tag: v3.12.0b1~613 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a90863c;p=thirdparty%2FPython%2Fcpython.git gh-100220: Fix error handling in make rules (GH-100328) Set `SHELL = /bin/sh -e` to ensure that complex recipes fail on the first error rather than incorrectly reporting success. Co-authored-by: Zachary Ware --- diff --git a/Makefile.pre.in b/Makefile.pre.in index 1c1bddcad824..fefa5d4e8147 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -59,7 +59,7 @@ DSYMUTIL_PATH= @DSYMUTIL_PATH@ GNULD= @GNULD@ # Shell used by make (some versions default to the login shell, which is bad) -SHELL= /bin/sh +SHELL= /bin/sh -e # Use this to make a link between python$(VERSION) and python in $(BINDIR) LN= @LN@ diff --git a/Misc/NEWS.d/next/Build/2022-12-18-07-24-44.gh-issue-100220.BgSV7C.rst b/Misc/NEWS.d/next/Build/2022-12-18-07-24-44.gh-issue-100220.BgSV7C.rst new file mode 100644 index 000000000000..7135317cd06f --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-12-18-07-24-44.gh-issue-100220.BgSV7C.rst @@ -0,0 +1,4 @@ +Changed the default value of the ``SHELL`` Makefile variable from ``/bin/sh`` +to ``/bin/sh -e`` to ensure that complex recipes correctly fail after an error. +Previously, ``make install`` could fail to install some files and yet return +a successful result.