[openssl.org #1085] DJGPP patch for 0.9.8-beta3

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[openssl.org #1085] DJGPP patch for 0.9.8-beta3

Rich Salz via RT

[[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]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1085] DJGPP patch for 0.9.8-beta3

Doug Kaufman
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]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1085] DJGPP patch for 0.9.8-beta3

Rich Salz via RT
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]