threads / patch / 50118

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

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

## tl;dr

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

replies: 1people: 2as markdown or json

randall.s.becker@rogers.com· Dec 27, 2018, 18:35 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. Accounted 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 +21 −5
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_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...' break 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 27, 2018, 20:03 UTC · re: randall.s.becker@rogers.com · lore

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

On Thu, Dec 27, 2018 at 1:35 PM <randall.s.becker@rogers.com> wrote:
Show 5 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. Accounted for this by
s/Accounted/Account/
Show 11 quoted lines
> providing emulation defines for those versions.
>
> 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)
>         # 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

Referring to your answer[1] to my question about ${prefix}, should the comment above these lines, which talks about ${prefix}, be removed by this patch?

[1]: https://public-inbox.org/git/000601d49e0b$e11d7520$a3585f60$@rogers.com/
> +       # 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...' break at OS releases J06.21 and L17.02.
"break" in what fashion? What is the actual incorrect behavior?

I'm not asking for my own edification particularly, but rather to help the person who comes after you supporting this platform. That person will need to understand the exact nature of the problem in order to determine if this work-around is still needed or if it can be retired or somehow conditionalized. Stated another way, the reason behind this change still seems like a black-box, mysterious and under-explained. There is nothing concrete here upon which to grasp to gain an understanding of the problem.

> +       # Default to the older rm until those two releases are deprecated.
> +       RM = /bin/rm -f

← back to recent threads