svn commit: r325116 - head

Warner Losh imp at bsdimp.com
Sun Nov 5 05:50:01 UTC 2017


On Sat, Nov 4, 2017 at 11:30 PM, Ngie Cooper (yaneurabeya) <
yaneurabeya at gmail.com> wrote:

>
> > On Nov 4, 2017, at 08:31, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
> >
> > On 11/4/2017 12:08 AM, Ngie Cooper (yaneurabeya) wrote:
> >>      I just ran into this with bash on universe12a.freebsd.org by
> doing ^d. I think the change should be reverted.
> >> Thanks,
> >> -Ngie
> >>
> >> $ exit
> >> *** Error code 130
> >>
> >> Stop.
> >> make[1]: stopped in /scratch/tmp/ngie/svn
> >> *** Error code 1
> >>
> >> Stop.
> >> make: stopped in /scratch/tmp/ngie/svn
> >>
> >
> > When you first go into buildenv check 'echo $?'.
> > My problem was a construct like '[ -f xxx ] && . xxx' at the end of one
> > of my profile scripts.  It needs to be 'if [ -f xxx ]; then . xxx; fi'
> > to avoid the bad status.  It's really unrelated to buildenv.
>
> The last line in my ~/.bashrc on my VM is export PATH that doesn’t fail
> with a syntax error, and the last line on my ~/.bashrc on universe12a is an
> alias set, which also doesn’t fail with a syntax error. Both cases set $? =
> 0.
>
> The issue I reported is caused by doing ^c + ^d (hence the error code 130
> in my original reply). I guess this is expected, but it’s going to confuse
> people and force them to have to investigate the issue, unnecessarily, when
> it wasn’t an “issue” before.
>

I can confirm this in my rather bare-bones bash environment.

I'm inclined to think that the edge case like this throwing slightly odd
results is a less bad outcome than not being able to get the results of a
make buildenv command... It's good to know that this oddity can happen.

We could:
(a) just put "|| true" back and stop. This breaks detecting if the make
buildenv command failed.
(b) We could just document this can happen, which is easy but still has the
issue
(c) We could create a new target to run commands, but that would be exactly
what buildenv is w/o the || true.

I'm inclined do (b). (a) is a non-starter. (c) is possible, but seems
wasteful to solve this case that can be explained in documentation.

Warner


More information about the svn-src-all mailing list