Date: Thu, 10 Dec 2015 03:10:53 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 205176] Errors in shell cycles in make(1) don't immediately trigger thy cycle Message-ID: <bug-205176-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205176 Bug ID: 205176 Summary: Errors in shell cycles in make(1) don't immediately trigger thy cycle Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Ports Framework Assignee: portmgr@FreeBSD.org Reporter: yuri@rawbw.com CC: freebsd-ports-bugs@FreeBSD.org Consider this Makefile: > cycle1: > @for i in a b c; do \ > (echo $$i && false); \ > done; > cycle2: > @for i in a b c; do \ > (echo $$i && false); \ > done && \ > echo "past that!"; All iterations always fail. But the cycle behavior depends if it is followed by other commands. Only the first iteration is executed when the cycle is the last: > # make cycle1 > a > *** Error code 1 > > Stop. > make: stopped in /usr/ports/yuri Every iteration is still executed when the cycle is followed by some other command: > # make cycle2 > a > b > c > *** Error code 1 > > Stop. > make: stopped in /usr/ports/yuri The behavior of the cycle should not depend on what follows it. The first case, when any iteration failure causes the cycle failure is the correct behavior. 10.2 STABLE -- You are receiving this mail because: You are on the CC list for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-205176-13>