Subject: RE: [PATCH v1 2/4] config.mak.uname: support for modern HPE NonStop config.

From: "Randall S. Becker" <[email-masked]>
Date: Thu, 27 Dec 2018 12:44:54 -0500

On December 27, 2018 12:03, Eric Sunshine wrote:
> On Wed, Dec 26, 2018 at 6:05 PM <[email-masked]> wrote:
> > A number of configuration options are not automatically detected by
> > configure mechanisms, including the location of Perl and Python.
> > [...]
> > Signed-off-by: Randall S. Becker <[email-masked]>
> > ---
> > diff --git a/config.mak.uname b/config.mak.uname @@ -441,26 +441,45
> @@
> > ifeq ($(uname_S),NONSTOP_KERNEL)
> >         # Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl).
> > -       PERL_PATH = ${prefix}/bin/perl
> > -       PYTHON_PATH = ${prefix}/bin/python
> > +       PERL_PATH = /usr/bin/perl
> > +       PYTHON_PATH = /usr/bin/python
> 
> Is the in-code comment about ${prefix} still applicable after this change?

The ${prefix} is not applicable on this platform for perl and python. Those locations must be in /usr/bin and are managed by the Operating System vendor not by customers. The change is wrapped in an IF so is only applicable to NonStop.
> 
> > +       # The current /usr/coreutils/rm at lowest support level does not work
> > +       # with the git test structure. Default to the older rm.
> > +       RM = /bin/rm -f
> 
> This comment would be far more helpful if it explained in what way 'rm'
> actually fails with the test suite. Without that information, the comment is
> effectively useless.

There is a temporary failure in the vendor supplied rm. The cause we never disclosed to my team. Honestly, it created a large amount of angst that should be gone but there are still old OS versions that have this issue. This is as much as we know.

> 
> >         # As detected by './configure'.
> >         # Missdetected, hence commented out, see below.
> >         #NO_CURL = YesPlease
> >         # Added manually, see above.
> > +       # Missdetected, hence commented out, see below.
> > +       #NO_CURL = YesPlease
> > +       # Added manually, see above.
> 
> These added lines are just duplicating the existing line immediately above. That's weird. I'll fix it. Thanks for the catch.
> 
> > +       # Not detected by ./configure. Add manually.
> > +       NEEDS_SSL_WITH_CURL = YesPlease
> > +       NEEDS_CRYPTO_WITH_SSL = YesPlease
> > +       HAVE_DEV_TTY = YesPlease
> 
> I find these comments about 'configure' "misdetecting" or "not detecting"
> features confusing. The point of config.mak.uname is to provide sane
> defaults for people building without using the 'configure' script, so it feels
> weird to be talking about 'configure'
> here. Also, what does it mean to say that 'configure' "misdetects"?
> Does that mean that it fails to write assignments such as "NO_CURL =
> YesPlease" to config.autogen or does it mean that it writes incorrect
> assignments to that file?

This came from another team. We can't currently use config.autogen anyway on the platform - this came from the prior attempt at porting. By misdetect I mean just that, however. We do not get good values.
> 
> > @@ -470,8 +489,13 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
> > +       ifdef NO_PTHREADS
> > +       else # WIP, use of Posix User Threads is planned but not working yet
> > +               PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include
> > +               PTHREAD_LIBS = -lput
> > +       endif
> 
> Why not a simpler 'ifndef'?

Another team is current working on the PTHREAD implementation and wanted this. I think what happened was that we have non-pthread requirements under development. I can remove this.