threads / patch / 50121

v3, 4 partsconfig.mak.uname: support for modern HPE NonStop config.

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

## tl;dr

3 messages between Dec 27, 2018 and Dec 28, 2018. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

randall.s.becker@rogers.com· Dec 27, 2018, 22:38 UTC · lore
From: "Randall S. Becker" <rsbecker@nexbridge.com>

A number of configuration options are not automatically detected by configure mechanisms, including the location of Perl and Python.

There was a problem at a specific set of operating system versions that caused getopt to have compile errors. Account for this by providing emulation defines for those versions.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 config.mak.uname | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)
Show changes to config.mak.uname +24 −6
diff --git a/config.mak.uname b/config.mak.uname
index 3ee7da0e23..aa4432ac2f 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -441,26 +441,45 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
 	# INLINE='' would just replace one set of warnings with another and
 	# still not compile in c89 mode, due to non-const array initializations.
 	CC = cc -c99
+	# Build down-rev compatible objects that don't use our new getopt_long.
+	ifeq ($(uname_R).$(uname_V),J06.21)
+		CC += -WRVU=J06.20
+	endif
+	ifeq ($(uname_R).$(uname_V),L17.02)
+		CC += -WRVU=L16.05
+	endif
+
 	# Disable all optimization, seems to result in bad code, with -O or -O2
 	# or even -O1 (default), /usr/local/libexec/git-core/git-pack-objects
 	# abends on "git push". Needs more investigation.
-	CFLAGS = -g -O0
+	CFLAGS = -g -O0 -Winline
 	# We'd want it to be here.
 	prefix = /usr/local
- 	# Our's are in ${prefix}/bin (perl might also be in /usr/bin/perl).
+	# perl and python must be in /usr/bin on NonStop - supplied by HPE
+	# with operating system in that managed directory.
-	PERL_PATH = ${prefix}/bin/perl
-	PYTHON_PATH = ${prefix}/bin/python
-
+	PERL_PATH = /usr/bin/perl
+	PYTHON_PATH = /usr/bin/python
+	# The current /usr/coreutils/rm at lowest support level does not work
+	# with the git test structure. Long paths cause nftw as in
+	# 'trash directory...' cause rm to terminate prematurely without fully
+	# removing the directory at OS releases J06.21 and L17.02.
+	# Default to the older rm until those two releases are deprecated.
+	RM = /bin/rm -f
 	# As detected by './configure'.
 	# Missdetected, hence commented out, see below.
 	#NO_CURL = YesPlease
 	# Added manually, see above.
+	NEEDS_SSL_WITH_CURL = YesPlease
+	NEEDS_CRYPTO_WITH_SSL = YesPlease
+	HAVE_DEV_TTY = YesPlease
 	HAVE_LIBCHARSET_H = YesPlease
 	HAVE_STRINGS_H = YesPlease
 	NEEDS_LIBICONV = YesPlease
 	NEEDS_LIBINTL_BEFORE_LIBICONV = YesPlease
 	NO_SYS_SELECT_H = UnfortunatelyYes
 	NO_D_TYPE_IN_DIRENT = YesPlease
+	NO_GETTEXT = YesPlease
 	NO_HSTRERROR = YesPlease
 	NO_STRCASESTR = YesPlease
 	NO_MEMMEM = YesPlease
@@ -470,8 +489,13 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
 	NO_MKDTEMP = YesPlease
 	# Currently libiconv-1.9.1.
 	OLD_ICONV = UnfortunatelyYes
-	NO_REGEX = YesPlease
+	NO_REGEX=NeedsStartEnd
 	NO_PTHREADS = UnfortunatelyYes

 	# Not detected (nor checked for) by './configure'.
 	# We don't have SA_RESTART on NonStop, unfortunalety.
-- 
2.17.0.10.gb132f7033
Eric Sunshine· Dec 28, 2018, 19:42 UTC · re: randall.s.becker@rogers.com · lore

Re: [PATCH v3 2/4] config.mak.uname: support for modern HPE NonStop config.

On Thu, Dec 27, 2018 at 5:39 PM <randall.s.becker@rogers.com> wrote:
Show 6 quoted lines
> A number of configuration options are not automatically detected by
> configure mechanisms, including the location of Perl and Python.
>
> There was a problem at a specific set of operating system versions
> that caused getopt to have compile errors. Account for this by
> providing emulation defines for those versions.

This version of the patch looks much better and addresses my comments on previous attempts. One note below...

Show 10 quoted lines
> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> ---
> diff --git a/config.mak.uname b/config.mak.uname
> @@ -441,26 +441,45 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
> +       # The current /usr/coreutils/rm at lowest support level does not work
> +       # with the git test structure. Long paths cause nftw as in
> +       # 'trash directory...' cause rm to terminate prematurely without fully
> +       # removing the directory at OS releases J06.21 and L17.02.
> +       # Default to the older rm until those two releases are deprecated.
> +       RM = /bin/rm -f

Thanks, this comment does a much better job of explaining the actual problem and selling the solution.

There is a slight grammatical problem:
    Long paths _cause_ ... _cause_ rm to terminate...
which might deserve fixing.
Randall S. Becker· Dec 28, 2018, 20:03 UTC · re: Eric Sunshine · lore

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

On December 28, 2018 14:43, Eric Sunshine wrote:
Show 31 quoted lines
> On Thu, Dec 27, 2018 at 5:39 PM <randall.s.becker@rogers.com> wrote:
> > A number of configuration options are not automatically detected by
> > configure mechanisms, including the location of Perl and Python.
> >
> > There was a problem at a specific set of operating system versions
> > that caused getopt to have compile errors. Account for this by
> > providing emulation defines for those versions.
> 
> This version of the patch looks much better and addresses my comments on
> previous attempts. One note below...
> 
> > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> > ---
> > diff --git a/config.mak.uname b/config.mak.uname @@ -441,26 +441,45
> @@
> > ifeq ($(uname_S),NONSTOP_KERNEL)
> > +       # The current /usr/coreutils/rm at lowest support level does not work
> > +       # with the git test structure. Long paths cause nftw as in
> > +       # 'trash directory...' cause rm to terminate prematurely without fully
> > +       # removing the directory at OS releases J06.21 and L17.02.
> > +       # Default to the older rm until those two releases are deprecated.
> > +       RM = /bin/rm -f
> 
> Thanks, this comment does a much better job of explaining the actual
> problem and selling the solution.
> 
> There is a slight grammatical problem:
> 
>     Long paths _cause_ ... _cause_ rm to terminate...
> 
> which might deserve fixing.
Rerolled. Thanks.

← back to recent threads