Skip site navigation (1)Skip section navigation (2)
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>