Rev 5398: (vila, jam) Get PQM running correctly again (bug #626667), in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Tue Aug 31 08:21:52 BST 2010
>>>>> John Arbash Meinel <john at arbash-meinel.com> writes:
> On 8/30/2010 9:49 PM, Matthew D. Fuller wrote:
>>> --- a/Makefile 2010-04-06 06:59:03 +0000
>>> +++ b/Makefile 2010-08-30 21:23:49 +0000
>>> @@ -39,8 +39,14 @@
>>> check: docs check-nodocs
>>>
>>> check-nodocs: extensions
>>> + set -e
>>
>> What's the point of this? Every line of a target executes in a
>> different shell anyway, so this shouldn't have any effect on anything
>> anyway (since the shell you just `set -e` in exits at the end of the
>> line).
>>
>>
Exactly my thought, each line in the action is executed in a newly
spawned shell...
So I digged the history a bit and obviously it had an effect for
John... could that be that the option is somehow exported ??? Weird.
The only occurrence of 'set -e' in make info files is:
%.d: %.c
@set -e; rm -f $@; \
$(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
But in this case, it's really a single line, so single shell
invocation... no mention of special casing for 'set -e'.
> It had an effect when testing it both here and on pqm. *why* I'm not
> really sure. But without it the line passes, as with it, it fails and
> gives a traceback.
It's really suprising that it works, since, as Robert mentioned on IRC,
we really 'set -o pipefail'.
Anyway, locally, with or without this line, the result is the same:
if [ ! -s selftest.log ] ; then exit 1 ; fi
is the line that caught the failure.
Vincent
More information about the bazaar
mailing list