Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 2004 11:57:49 +0100
From:      Oliver Eikemeier <eikemeier@fillmore-labs.com>
To:        Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
Cc:        ports@freebsd.org
Subject:   Re: ports/64037 and the alleged && -> ; failure from March 2002
Message-ID:  <4052E92D.7050000@fillmore-labs.com>
In-Reply-To: <20040313102423.GA6018@merlin.emma.line.org>
References:  <20040313002807.GA13745@merlin.emma.line.org> <40525BE9.2050208@fillmore-labs.com> <20040313102423.GA6018@merlin.emma.line.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Matthias Andree wrote:

> On Sat, 13 Mar 2004, Oliver Eikemeier wrote:
>=20
>>I don't agree with the arguments, but I don't understand
>>
>>- Switch from ; to && in order to not hide cd errors or run the make=20
>>command in
>> the wrong directory.
>>
>>either. Both give
>>
>> cd: can't cd to /nonexistent
>> *** Error code 2
>>
>>and stop the build, or do you do use make -i regularly?
>=20
> Is it guaranteed that make will always under all circumstances run the
> shell with the "-e" flag? And if it does, does GNU make from the ports
> do that as well? The '&&' variant will do The Right Thing=AE with and
> without the -e flag passed down the /bin/sh, whereas a 'cd /nonexistent=
 ;
> rm -rf * .??*' will happily erase the current working directory if
> /nonexistent is non-existent and the shell is run without -e.

make will run the shell with -e unless the line starts with `-' or `-i'
is given.

GNU make is not used for ports Makefiles, only for the ones in the
distribution, and you don't want to Patch Them All(tm), do you?

Finally I'm not sure if simply ignoring the following command is the
right thing to do. I can construct an example where this is fatal too,
but IMHO all such examples would be pathological.

-Oliver



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4052E92D.7050000>