[[hidden email] - Tue May 31 17:03:31 2005]: > There is one problem with beta-3 which also occurred in earler > versions, but which I had overlooked, since no errors were generated. > On DJGPP, install_docs stops after installing man1/CA.pl.1. No other > man pages were installed. The rest of the installation went fine. I > believe that this occurs because of non-portable assumptions about > return values made by the makefile. The attached patch fixes it for > DJGPP. I had previously reported this problem (see rt tickets #932 and > 989). > Doug > Whatever the problem is, I do not agree with removing 'set -e'. Setting -e ensures that an error that happens within a loop is propagated to become the error *of* the loop (or actually, the whole shell session), which is therefore returned to make. Without 'set -e', errors may happen withing the loops or a series of commands with make not knowing about it. Instead, make will only get the exit code from the last command executed. I believe that the problem lies somewhere else and needs to be investigated a bit further. -- Richard Levitte [hidden email] ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [hidden email] Automated List Manager [hidden email] |
On Mon, 6 Jun 2005, Richard Levitte via RT wrote:
> [[hidden email] - Tue May 31 17:03:31 2005]: > > > There is one problem with beta-3 which also occurred in earler > > versions, but which I had overlooked, since no errors were generated. > > On DJGPP, install_docs stops after installing man1/CA.pl.1. No other > > man pages were installed. The rest of the installation went fine. I > > believe that this occurs because of non-portable assumptions about > > return values made by the makefile. The attached patch fixes it for > > DJGPP. I had previously reported this problem (see rt tickets #932 and > > 989). > > Doug > > > > Whatever the problem is, I do not agree with removing 'set -e'. Setting > -e ensures that an error that happens within a loop is propagated to > become the error *of* the loop (or actually, the whole shell session), > which is therefore returned to make. Without 'set -e', errors may > happen withing the loops or a series of commands with make not knowing > about it. Instead, make will only get the exit code from the last > command executed. I guess I just don't understand. I don't see why it succeeds on any platform. The "set -e" fails if an exit code is anything other than "0". Installing the manual pages involves calling grep with arguments known to succeed at times and fail at times, sometimes giving exit code of "0" and sometimes of "1". That seems to be why "set -e" stops the loop. For example: > set -e; for A in three two three two; do > echo "TWO" |grep -v -i $A; > done gives a value of "TWO" and then stops, while > for A in three two three two; do > echo "TWO" |grep -v -i $A; > done gives a value of "TWO" "TWO" and exits with return code of "1". Doug -- Doug Kaufman Internet: [hidden email] ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [hidden email] Automated List Manager [hidden email] |
In reply to this post by Rich Salz via RT
On Mon, 6 Jun 2005, Richard Levitte via RT wrote: > [[hidden email] - Tue May 31 17:03:31 2005]: > > > There is one problem with beta-3 which also occurred in earler > > versions, but which I had overlooked, since no errors were generated. > > On DJGPP, install_docs stops after installing man1/CA.pl.1. No other > > man pages were installed. The rest of the installation went fine. I > > believe that this occurs because of non-portable assumptions about > > return values made by the makefile. The attached patch fixes it for > > DJGPP. I had previously reported this problem (see rt tickets #932 and > > 989). > > Doug > > > > Whatever the problem is, I do not agree with removing 'set -e'. Setting > -e ensures that an error that happens within a loop is propagated to > become the error *of* the loop (or actually, the whole shell session), > which is therefore returned to make. Without 'set -e', errors may > happen withing the loops or a series of commands with make not knowing > about it. Instead, make will only get the exit code from the last > command executed. I guess I just don't understand. I don't see why it succeeds on any platform. The "set -e" fails if an exit code is anything other than "0". Installing the manual pages involves calling grep with arguments known to succeed at times and fail at times, sometimes giving exit code of "0" and sometimes of "1". That seems to be why "set -e" stops the loop. For example: > set -e; for A in three two three two; do > echo "TWO" |grep -v -i $A; > done gives a value of "TWO" and then stops, while > for A in three two three two; do > echo "TWO" |grep -v -i $A; > done gives a value of "TWO" "TWO" and exits with return code of "1". Doug -- Doug Kaufman Internet: [hidden email] ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [hidden email] Automated List Manager [hidden email] |
Free forum by Nabble | Edit this page |