git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform
@ 2018-01-21 23:41 randall.s.becker
  2018-01-21 23:42 ` [PATCH v4 1/4] Add tar extract install options override in installation processing randall.s.becker
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: randall.s.becker @ 2018-01-21 23:41 UTC (permalink / raw)
  To: git; +Cc: Randall S. Becker

From: "Randall S. Becker" <rsbecker@nexbridge.com>

Call setbuf(stream,NULL) to force pipe flushes not enabled by
default on the NonStop platform in wrapper.c. This may be extended
in future to a configure option.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 wrapper.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/wrapper.c b/wrapper.c
index d20356a77..5b05a9162 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -403,6 +403,9 @@ FILE *xfdopen(int fd, const char *mode)
 	FILE *stream = fdopen(fd, mode);
 	if (stream == NULL)
 		die_errno("Out of memory? fdopen failed");
+#ifdef __TANDEM
+	setbuf(stream,NULL);
+#endif
 	return stream;
 }
 
-- 
2.16.0.31.gf1a482c


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 1/4] Add tar extract install options override in installation processing.
  2018-01-21 23:41 [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform randall.s.becker
@ 2018-01-21 23:42 ` randall.s.becker
  2018-01-24 20:33   ` Junio C Hamano
  2018-01-21 23:42 ` [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms randall.s.becker
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 16+ messages in thread
From: randall.s.becker @ 2018-01-21 23:42 UTC (permalink / raw)
  To: git; +Cc: Randall S. Becker

From: "Randall S. Becker" <rsbecker@nexbridge.com>

Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
the options of tar processing during extract. The default value is "o"
which synthesizes xof, by default.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 Makefile | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 1a9b23b67..78ee431b7 100644
--- a/Makefile
+++ b/Makefile
@@ -429,6 +429,10 @@ all::
 # running the test scripts (e.g., bash has better support for "set -x"
 # tracing).
 #
+# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
+# from xvf to something else during installation. The option only includes
+# "o" as xf are required.
+#
 # When cross-compiling, define HOST_CPU as the canonical name of the CPU on
 # which the built Git will run (for instance "x86_64").
 
@@ -452,6 +456,7 @@ LDFLAGS =
 ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
+TAR_EXTRACT_OPTIONS = o
 
 # Create as necessary, replace existing, make ranlib unneeded.
 ARFLAGS = rcs
@@ -2569,7 +2574,7 @@ install: all
 ifndef NO_GETTEXT
 	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(localedir_SQ)'
 	(cd po/build/locale && $(TAR) cf - .) | \
-	(cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) xof -)
+	(cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) x$(TAR_EXTRACT_OPTIONS)f -)
 endif
 ifndef NO_PERL
 	$(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
-- 
2.16.0.31.gf1a482c


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms
  2018-01-21 23:41 [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform randall.s.becker
  2018-01-21 23:42 ` [PATCH v4 1/4] Add tar extract install options override in installation processing randall.s.becker
@ 2018-01-21 23:42 ` randall.s.becker
  2018-01-24 21:19   ` Junio C Hamano
  2018-01-21 23:42 ` [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h randall.s.becker
  2018-01-21 23:42 ` [PATCH v4 4/4] Add intptr_t and uintptr_t to regcomp.c for NonStop platform randall.s.becker
  3 siblings, 1 reply; 16+ messages in thread
From: randall.s.becker @ 2018-01-21 23:42 UTC (permalink / raw)
  To: git; +Cc: Randall S. Becker

From: "Randall S. Becker" <rsbecker@nexbridge.com>

Upgrade old options in config.mak.uname to currently supported
NonStop operating system versions (J06.21 and L17.xx).

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 config.mak.uname | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/config.mak.uname b/config.mak.uname
index 685a80d13..d9f8d57e3 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -428,27 +428,37 @@ 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
+	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
@@ -458,8 +468,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
+	ifdef NO_PTHREADS
+	else # WIP, use Posix User Threads
+		PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include
+		PTHREAD_LIBS = -lput
+	endif
 
 	# Not detected (nor checked for) by './configure'.
 	# We don't have SA_RESTART on NonStop, unfortunalety.
@@ -477,9 +492,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
 	# RFE 10-120912-4693 submitted to HP NonStop development.
 	NO_SETITIMER = UnfortunatelyYes
 	SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin
-	SHELL_PATH = /usr/local/bin/bash
-	# as of H06.25/J06.14, we might better use this
-	#SHELL_PATH = /usr/coreutils/bin/bash
+	SHELL_PATH = /usr/coreutils/bin/bash
 endif
 ifneq (,$(findstring MINGW,$(uname_S)))
 	pathsep = ;
-- 
2.16.0.31.gf1a482c


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-21 23:41 [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform randall.s.becker
  2018-01-21 23:42 ` [PATCH v4 1/4] Add tar extract install options override in installation processing randall.s.becker
  2018-01-21 23:42 ` [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms randall.s.becker
@ 2018-01-21 23:42 ` randall.s.becker
  2018-01-24 20:36   ` Junio C Hamano
  2018-01-21 23:42 ` [PATCH v4 4/4] Add intptr_t and uintptr_t to regcomp.c for NonStop platform randall.s.becker
  3 siblings, 1 reply; 16+ messages in thread
From: randall.s.becker @ 2018-01-21 23:42 UTC (permalink / raw)
  To: git; +Cc: Randall S. Becker

From: "Randall S. Becker" <rsbecker@nexbridge.com>

Add correct FLOSS (NonStop platform emulation) definitions into
git-compat-util.h to allow correct emulation of non-platform
behaviour. Also added NSIG definition that is not explicitly
supplied in signal.h on platform.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 git-compat-util.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/git-compat-util.h b/git-compat-util.h
index 68b2ad531..fb3ef0dcf 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -378,6 +378,21 @@ static inline char *git_find_last_dir_sep(const char *path)
 #define find_last_dir_sep git_find_last_dir_sep
 #endif
 
+#ifdef __TANDEM
+#if !defined(_THREAD_SUPPORT_FUNCTIONS) && !defined(_PUT_MODEL_)
+/* #include <floss.h(floss_read,floss_write,floss_fsync,floss_fork)> */
+/* #include <floss.h(floss_fork)> */
+#endif
+#include <floss.h(floss_execl,floss_execlp,floss_execv,floss_execvp)>
+#include <floss.h(floss_getpwuid)>
+#if ! defined NSIG
+/* NonStop NSE and NSX do not provide NSIG. SIGGUARDIAN(99) is the highest
+   known, by detective work using kill -l as a list is all signals
+   instead of signal.h where it should be. */
+# define NSIG 100
+#endif
+#endif
+
 #if defined(__HP_cc) && (__HP_cc >= 61000)
 #define NORETURN __attribute__((noreturn))
 #define NORETURN_PTR
-- 
2.16.0.31.gf1a482c


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 4/4] Add intptr_t and uintptr_t to regcomp.c for NonStop platform.
  2018-01-21 23:41 [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform randall.s.becker
                   ` (2 preceding siblings ...)
  2018-01-21 23:42 ` [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h randall.s.becker
@ 2018-01-21 23:42 ` randall.s.becker
  3 siblings, 0 replies; 16+ messages in thread
From: randall.s.becker @ 2018-01-21 23:42 UTC (permalink / raw)
  To: git; +Cc: Randall S. Becker

From: "Randall S. Becker" <rsbecker@nexbridge.com>

Fix missing intptr_t on NonStop in compat/regex/regcomp.c wrapped
using the __TANDEM guard define. This is done because
git-compat-util.h cannot be cleanly included into this file
without additional compile errors.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
---
 compat/regex/regcomp.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/compat/regex/regcomp.c b/compat/regex/regcomp.c
index 51cd60baa..8bb4c966d 100644
--- a/compat/regex/regcomp.c
+++ b/compat/regex/regcomp.c
@@ -17,6 +17,14 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#if defined __TANDEM
+/* This is currently duplicated from git-compat-utils.h */
+#ifdef NO_INTPTR_T
+typedef long intptr_t;
+typedef unsigned long uintptr_t;
+#endif
+#endif
+
 static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
 					  size_t length, reg_syntax_t syntax);
 static void re_compile_fastmap_iter (regex_t *bufp,
-- 
2.16.0.31.gf1a482c


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.
  2018-01-21 23:42 ` [PATCH v4 1/4] Add tar extract install options override in installation processing randall.s.becker
@ 2018-01-24 20:33   ` Junio C Hamano
  2018-01-24 22:01     ` Todd Zullinger
  2018-01-24 23:39     ` Ramsay Jones
  0 siblings, 2 replies; 16+ messages in thread
From: Junio C Hamano @ 2018-01-24 20:33 UTC (permalink / raw)
  To: randall.s.becker; +Cc: git, Randall S. Becker

randall.s.becker@rogers.com writes:

> From: "Randall S. Becker" <rsbecker@nexbridge.com>
> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.

We typically start the subject with some short token to help readers
of "git shortlog --no-merges" identify what area is being touched,
e.g. something like

Subject: [PATCH 1/4] Makefile: allow customizing tar extract options for installation

> Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
> the options of tar processing during extract. The default value is "o"
> which synthesizes xof, by default.

And then we order the codebase "to be like so" (or, give an order to
a patch monkey "to make the resulting code like so").
i.e. something like:

    Introduce TAR_EXTRACT_OPTIONS to allow customizing the tar
    options used when installing.  The default value is "o", which ...

What is missing from the log message is the most important thing,
though.  Everything you wrote (i.e. what build-time knob is being
added, what is tweaked and what the default is) we can read from the
patch text itself, but readers will be left wondering why anybody
would want to change "o" and change it to what else under what
circumstances to achieve what.  I am guessing something like this
might be the reason behind this change

    This allows an implementations of "tar" that lacks the 'o'
    (--no-same-owner) extract option to be used (even though the
    resulting installed versions will keep ownership of whoever
    happened to have built them, instead of being owned by 'root')

but please do not make readers guess.

Having said all that, I wonder if this "go to po/build/locale, tar
everything up and then extract it elsewhere" is truly necessary.
IOW, why isn't it sufficient to do this instead, for example?

    umask 022 && cp -r po/build/locale/. '$(DESTDIR_SQ)$(localedir_SQ)'


>
> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> ---
>  Makefile | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 1a9b23b67..78ee431b7 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -429,6 +429,10 @@ all::
>  # running the test scripts (e.g., bash has better support for "set -x"
>  # tracing).
>  #
> +# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
> +# from xvf to something else during installation. The option only includes
> +# "o" as xf are required.
> +#
>  # When cross-compiling, define HOST_CPU as the canonical name of the CPU on
>  # which the built Git will run (for instance "x86_64").
>  
> @@ -452,6 +456,7 @@ LDFLAGS =
>  ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
>  ALL_LDFLAGS = $(LDFLAGS)
>  STRIP ?= strip
> +TAR_EXTRACT_OPTIONS = o
>  
>  # Create as necessary, replace existing, make ranlib unneeded.
>  ARFLAGS = rcs
> @@ -2569,7 +2574,7 @@ install: all
>  ifndef NO_GETTEXT
>  	$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(localedir_SQ)'
>  	(cd po/build/locale && $(TAR) cf - .) | \
> -	(cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) xof -)
> +	(cd '$(DESTDIR_SQ)$(localedir_SQ)' && umask 022 && $(TAR) x$(TAR_EXTRACT_OPTIONS)f -)
>  endif
>  ifndef NO_PERL
>  	$(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-21 23:42 ` [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h randall.s.becker
@ 2018-01-24 20:36   ` Junio C Hamano
  2018-01-24 20:49     ` Randall S. Becker
  0 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2018-01-24 20:36 UTC (permalink / raw)
  To: randall.s.becker; +Cc: git, Randall S. Becker

randall.s.becker@rogers.com writes:

> From: "Randall S. Becker" <rsbecker@nexbridge.com>
>
> Add correct FLOSS (NonStop platform emulation) definitions into
> git-compat-util.h to allow correct emulation of non-platform
> behaviour. Also added NSIG definition that is not explicitly
> supplied in signal.h on platform.
>
> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> ---
>  git-compat-util.h | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/git-compat-util.h b/git-compat-util.h
> index 68b2ad531..fb3ef0dcf 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -378,6 +378,21 @@ static inline char *git_find_last_dir_sep(const char *path)
>  #define find_last_dir_sep git_find_last_dir_sep
>  #endif
>  
> +#ifdef __TANDEM
> +#if !defined(_THREAD_SUPPORT_FUNCTIONS) && !defined(_PUT_MODEL_)
> +/* #include <floss.h(floss_read,floss_write,floss_fsync,floss_fork)> */
> +/* #include <floss.h(floss_fork)> */
> +#endif

The above adds a conditional no-op?  That's confusing...

> +#include <floss.h(floss_execl,floss_execlp,floss_execv,floss_execvp)>
> +#include <floss.h(floss_getpwuid)>
> +#if ! defined NSIG
> +/* NonStop NSE and NSX do not provide NSIG. SIGGUARDIAN(99) is the highest
> +   known, by detective work using kill -l as a list is all signals
> +   instead of signal.h where it should be. */
> +# define NSIG 100
> +#endif
> +#endif
> +
>  #if defined(__HP_cc) && (__HP_cc >= 61000)
>  #define NORETURN __attribute__((noreturn))
>  #define NORETURN_PTR

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-24 20:36   ` Junio C Hamano
@ 2018-01-24 20:49     ` Randall S. Becker
  2018-01-24 21:17       ` Junio C Hamano
  0 siblings, 1 reply; 16+ messages in thread
From: Randall S. Becker @ 2018-01-24 20:49 UTC (permalink / raw)
  To: 'Junio C Hamano', randall.s.becker; +Cc: git

On January 24, 2018 3:36 PM, Junio C Hamano wrote:
> randall.s.becker@rogers.com writes:
> 
> > From: "Randall S. Becker" <rsbecker@nexbridge.com>
> >
> > Add correct FLOSS (NonStop platform emulation) definitions into
> > git-compat-util.h to allow correct emulation of non-platform
> > behaviour. Also added NSIG definition that is not explicitly supplied
> > in signal.h on platform.
> >
> > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> > ---
> >  git-compat-util.h | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> >
> > diff --git a/git-compat-util.h b/git-compat-util.h index
> > 68b2ad531..fb3ef0dcf 100644
> > --- a/git-compat-util.h
> > +++ b/git-compat-util.h
> > @@ -378,6 +378,21 @@ static inline char *git_find_last_dir_sep(const
> > char *path)  #define find_last_dir_sep git_find_last_dir_sep  #endif
> >
> > +#ifdef __TANDEM
> > +#if !defined(_THREAD_SUPPORT_FUNCTIONS) &&
> !defined(_PUT_MODEL_)
> > +/* #include <floss.h(floss_read,floss_write,floss_fsync,floss_fork)>
> > +*/
> > +/* #include <floss.h(floss_fork)> */
> > +#endif
> 
> The above adds a conditional no-op?  That's confusing...

We are trying to make PUT work with git on NonStop. I can't tell you how
much of a pain it is. This is a placeholder for others (outside our group)
to know where to muck. I can remove it if you don't want it there.
 
> > +#include <floss.h(floss_execl,floss_execlp,floss_execv,floss_execvp)>
> > +#include <floss.h(floss_getpwuid)>
> > +#if ! defined NSIG
> > +/* NonStop NSE and NSX do not provide NSIG. SIGGUARDIAN(99) is the
> highest
> > +   known, by detective work using kill -l as a list is all signals
> > +   instead of signal.h where it should be. */ # define NSIG 100
> > +#endif #endif
> > +
> >  #if defined(__HP_cc) && (__HP_cc >= 61000)  #define NORETURN
> > __attribute__((noreturn))  #define NORETURN_PTR


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-24 20:49     ` Randall S. Becker
@ 2018-01-24 21:17       ` Junio C Hamano
  2018-01-24 21:45         ` Junio C Hamano
  2018-01-24 21:51         ` Randall S. Becker
  0 siblings, 2 replies; 16+ messages in thread
From: Junio C Hamano @ 2018-01-24 21:17 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: randall.s.becker, git

"Randall S. Becker" <rsbecker@nexbridge.com> writes:

>> > +#ifdef __TANDEM
>> > +#if !defined(_THREAD_SUPPORT_FUNCTIONS) &&
>> !defined(_PUT_MODEL_)
>> > +/* #include <floss.h(floss_read,floss_write,floss_fsync,floss_fork)>
>> > +*/
>> > +/* #include <floss.h(floss_fork)> */
>> > +#endif
>> 
>> The above adds a conditional no-op?  That's confusing...
>
> We are trying to make PUT work with git on NonStop. I can't tell you how
> much of a pain it is. This is a placeholder for others (outside our group)
> to know where to muck. I can remove it if you don't want it there.

It is OK as long as it was done on purpose.  I was just making sure
that this was an unfinished WIP sent by mistake before proofreading.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms
  2018-01-21 23:42 ` [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms randall.s.becker
@ 2018-01-24 21:19   ` Junio C Hamano
  2018-01-24 21:49     ` randall.s.becker
  0 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2018-01-24 21:19 UTC (permalink / raw)
  To: randall.s.becker; +Cc: git, Randall S. Becker

randall.s.becker@rogers.com writes:

> From: "Randall S. Becker" <rsbecker@nexbridge.com>
>
> Upgrade old options in config.mak.uname to currently supported
> NonStop operating system versions (J06.21 and L17.xx).
>
> Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> ---
>  config.mak.uname | 29 +++++++++++++++++++++--------
>  1 file changed, 21 insertions(+), 8 deletions(-)

The "tar extraction option" thing in 1/4 is not something you use
here?  Not complaining---I am merely trying to use this as one data
point to help me assess/guess what 1/4 is about ;-)

>
> diff --git a/config.mak.uname b/config.mak.uname
> index 685a80d13..d9f8d57e3 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -428,27 +428,37 @@ 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
> +	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
> @@ -458,8 +468,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
> +	ifdef NO_PTHREADS
> +	else # WIP, use Posix User Threads
> +		PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include
> +		PTHREAD_LIBS = -lput
> +	endif
>  
>  	# Not detected (nor checked for) by './configure'.
>  	# We don't have SA_RESTART on NonStop, unfortunalety.
> @@ -477,9 +492,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
>  	# RFE 10-120912-4693 submitted to HP NonStop development.
>  	NO_SETITIMER = UnfortunatelyYes
>  	SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin
> -	SHELL_PATH = /usr/local/bin/bash
> -	# as of H06.25/J06.14, we might better use this
> -	#SHELL_PATH = /usr/coreutils/bin/bash
> +	SHELL_PATH = /usr/coreutils/bin/bash
>  endif
>  ifneq (,$(findstring MINGW,$(uname_S)))
>  	pathsep = ;

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-24 21:17       ` Junio C Hamano
@ 2018-01-24 21:45         ` Junio C Hamano
  2018-01-24 21:51         ` Randall S. Becker
  1 sibling, 0 replies; 16+ messages in thread
From: Junio C Hamano @ 2018-01-24 21:45 UTC (permalink / raw)
  To: Randall S. Becker; +Cc: randall.s.becker, git

Junio C Hamano <gitster@pobox.com> writes:

> "Randall S. Becker" <rsbecker@nexbridge.com> writes:
>
>>> > +#ifdef __TANDEM
>>> > +#if !defined(_THREAD_SUPPORT_FUNCTIONS) &&
>>> !defined(_PUT_MODEL_)
>>> > +/* #include <floss.h(floss_read,floss_write,floss_fsync,floss_fork)>
>>> > +*/
>>> > +/* #include <floss.h(floss_fork)> */
>>> > +#endif
>>> 
>>> The above adds a conditional no-op?  That's confusing...
>>
>> We are trying to make PUT work with git on NonStop. I can't tell you how
>> much of a pain it is. This is a placeholder for others (outside our group)
>> to know where to muck. I can remove it if you don't want it there.
>
> It is OK as long as it was done on purpose.  I was just making sure
> that this was an unfinished WIP sent by mistake before proofreading.

Obviously, I was trying to make sure it was *NOT* an incomplete
state you did not intend to send ;-)


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms
  2018-01-24 21:19   ` Junio C Hamano
@ 2018-01-24 21:49     ` randall.s.becker
  0 siblings, 0 replies; 16+ messages in thread
From: randall.s.becker @ 2018-01-24 21:49 UTC (permalink / raw)
  To: 'Junio C Hamano'; +Cc: git, 'Randall S. Becker'

On January 24, 2018 4:19 PM, Junio C Hamano wrote:
> 
> randall.s.becker@rogers.com writes:
> 
> > From: "Randall S. Becker" <rsbecker@nexbridge.com>
> >
> > Upgrade old options in config.mak.uname to currently supported NonStop
> > operating system versions (J06.21 and L17.xx).
> >
> > Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
> > ---
> >  config.mak.uname | 29 +++++++++++++++++++++--------
> >  1 file changed, 21 insertions(+), 8 deletions(-)
> 
> The "tar extraction option" thing in 1/4 is not something you use here?
Not
> complaining---I am merely trying to use this as one data point to help me
> assess/guess what 1/4 is about ;-)

The define is used only in my team's distribution engine and we are planning
to override the define as part of our Jenkins build of git. We do not expect
anyone else who clones git and builds on the platform to use this
capability. As a result, I did not want it to be defaulted as "ov", which is
our setting.

> 
> >
> > diff --git a/config.mak.uname b/config.mak.uname index
> > 685a80d13..d9f8d57e3 100644
> > --- a/config.mak.uname
> > +++ b/config.mak.uname
> > @@ -428,27 +428,37 @@ 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
> > +	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
> > @@ -458,8 +468,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
> > +	ifdef NO_PTHREADS
> > +	else # WIP, use Posix User Threads
> > +		PTHREAD_CFLAGS = -D_PUT_MODEL_ -I/usr/include
> > +		PTHREAD_LIBS = -lput
> > +	endif
> >
> >  	# Not detected (nor checked for) by './configure'.
> >  	# We don't have SA_RESTART on NonStop, unfortunalety.
> > @@ -477,9 +492,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
> >  	# RFE 10-120912-4693 submitted to HP NonStop development.
> >  	NO_SETITIMER = UnfortunatelyYes
> >  	SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin
> > -	SHELL_PATH = /usr/local/bin/bash
> > -	# as of H06.25/J06.14, we might better use this
> > -	#SHELL_PATH = /usr/coreutils/bin/bash
> > +	SHELL_PATH = /usr/coreutils/bin/bash
> >  endif
> >  ifneq (,$(findstring MINGW,$(uname_S)))
> >  	pathsep = ;


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h
  2018-01-24 21:17       ` Junio C Hamano
  2018-01-24 21:45         ` Junio C Hamano
@ 2018-01-24 21:51         ` Randall S. Becker
  1 sibling, 0 replies; 16+ messages in thread
From: Randall S. Becker @ 2018-01-24 21:51 UTC (permalink / raw)
  To: 'Junio C Hamano'; +Cc: randall.s.becker, git

On January 24, 2018 4:18 PM, Junio C Hamano wrote:
> 
> "Randall S. Becker" <rsbecker@nexbridge.com> writes:
> 
> >> > +#ifdef __TANDEM
> >> > +#if !defined(_THREAD_SUPPORT_FUNCTIONS) &&
> >> !defined(_PUT_MODEL_)
> >> > +/* #include
> >> > +<floss.h(floss_read,floss_write,floss_fsync,floss_fork)>
> >> > +*/
> >> > +/* #include <floss.h(floss_fork)> */ #endif
> >>
> >> The above adds a conditional no-op?  That's confusing...
> >
> > We are trying to make PUT work with git on NonStop. I can't tell you
> > how much of a pain it is. This is a placeholder for others (outside
> > our group) to know where to muck. I can remove it if you don't want it
> there.
> 
> It is OK as long as it was done on purpose.  I was just making sure that
this
> was an unfinished WIP sent by mistake before proofreading.

Absolutely definitely positively on purpose and when it we get PUT working
in FLOSS, this is *so* going to happen. :-) 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.
  2018-01-24 20:33   ` Junio C Hamano
@ 2018-01-24 22:01     ` Todd Zullinger
  2018-01-24 22:27       ` Randall S. Becker
  2018-01-24 23:39     ` Ramsay Jones
  1 sibling, 1 reply; 16+ messages in thread
From: Todd Zullinger @ 2018-01-24 22:01 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: randall.s.becker, git, Randall S. Becker

Junio C Hamano wrote:
> randall.s.becker@rogers.com writes:
>> +# Define TAR_EXTRACT_OPTIONS if you want to change the default behaviour
>> +# from xvf to something else during installation. The option only includes
           ^^^
Shouldn't this be xof?

>> +# "o" as xf are required.

-- 
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wisdom has two parts: (1) having a lot to say and (2) not saying it.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v4 1/4] Add tar extract install options override in installation processing.
  2018-01-24 22:01     ` Todd Zullinger
@ 2018-01-24 22:27       ` Randall S. Becker
  0 siblings, 0 replies; 16+ messages in thread
From: Randall S. Becker @ 2018-01-24 22:27 UTC (permalink / raw)
  To: 'Todd Zullinger', 'Junio C Hamano'; +Cc: randall.s.becker, git

> -----Original Message-----
> From: Todd Zullinger [mailto:tmz@pobox.com]
> Sent: January 24, 2018 5:02 PM
> To: Junio C Hamano <gitster@pobox.com>
> Cc: randall.s.becker@rogers.com; git@vger.kernel.org; Randall S. Becker
> <rsbecker@nexbridge.com>
> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in
> installation processing.
> 
> Junio C Hamano wrote:
> > randall.s.becker@rogers.com writes:
> >> +# Define TAR_EXTRACT_OPTIONS if you want to change the default
> >> +behaviour # from xvf to something else during installation. The
> >> +option only includes
>            ^^^
> Shouldn't this be xof?
> 
> >> +# "o" as xf are required.

Drats. Can this be changed here rather than reissuing? I will sign off on
the sticky finger typo.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.
  2018-01-24 20:33   ` Junio C Hamano
  2018-01-24 22:01     ` Todd Zullinger
@ 2018-01-24 23:39     ` Ramsay Jones
  1 sibling, 0 replies; 16+ messages in thread
From: Ramsay Jones @ 2018-01-24 23:39 UTC (permalink / raw)
  To: Junio C Hamano, randall.s.becker; +Cc: git, Randall S. Becker



On 24/01/18 20:33, Junio C Hamano wrote:
> randall.s.becker@rogers.com writes:
> 
>> From: "Randall S. Becker" <rsbecker@nexbridge.com>
>> Subject: Re: [PATCH v4 1/4] Add tar extract install options override in installation processing.
> 
> We typically start the subject with some short token to help readers
> of "git shortlog --no-merges" identify what area is being touched,
> e.g. something like
> 
> Subject: [PATCH 1/4] Makefile: allow customizing tar extract options for installation
> 
>> Introduced TAR_EXTRACT_OPTIONS as a configuration option to change
>> the options of tar processing during extract. The default value is "o"
>> which synthesizes xof, by default.
> 
> And then we order the codebase "to be like so" (or, give an order to
> a patch monkey "to make the resulting code like so").
> i.e. something like:
> 
>     Introduce TAR_EXTRACT_OPTIONS to allow customizing the tar
>     options used when installing.  The default value is "o", which ...
> 
> What is missing from the log message is the most important thing,
> though.  Everything you wrote (i.e. what build-time knob is being
> added, what is tweaked and what the default is) we can read from the
> patch text itself, but readers will be left wondering why anybody
> would want to change "o" and change it to what else under what
> circumstances to achieve what.  I am guessing something like this
> might be the reason behind this change
> 
>     This allows an implementations of "tar" that lacks the 'o'
>     (--no-same-owner) extract option to be used (even though the
>     resulting installed versions will keep ownership of whoever
>     happened to have built them, instead of being owned by 'root')
> 
> but please do not make readers guess.

Hmm, I'm a bit puzzled by this patch. I may be wrong, but it
looks like it has nothing to do with the lack of the 'o' option
of tar, and more to do with adding the 'v' option to only a
single invocation of tar. There are three instances of this
kind of pattern in the Makefile, but only one has been modified.
Why?

> Having said all that, I wonder if this "go to po/build/locale, tar
> everything up and then extract it elsewhere" is truly necessary.
> IOW, why isn't it sufficient to do this instead, for example?
> 
>     umask 022 && cp -r po/build/locale/. '$(DESTDIR_SQ)$(localedir_SQ)'

Given the above, I suspect that (for some unknown reason), a verbose
'listing' of the locale files is required ... :-D

ATB,
Ramsay Jones


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-01-24 23:39 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-21 23:41 [PATCH v4 0/4] Force pipes to flush immediately on NonStop platform randall.s.becker
2018-01-21 23:42 ` [PATCH v4 1/4] Add tar extract install options override in installation processing randall.s.becker
2018-01-24 20:33   ` Junio C Hamano
2018-01-24 22:01     ` Todd Zullinger
2018-01-24 22:27       ` Randall S. Becker
2018-01-24 23:39     ` Ramsay Jones
2018-01-21 23:42 ` [PATCH v4 2/4] Define config options required for the HPE NonStop NSX and NSE platforms randall.s.becker
2018-01-24 21:19   ` Junio C Hamano
2018-01-24 21:49     ` randall.s.becker
2018-01-21 23:42 ` [PATCH v4 3/4] Bring NonStop platform definitions up to date in git-compat-util.h randall.s.becker
2018-01-24 20:36   ` Junio C Hamano
2018-01-24 20:49     ` Randall S. Becker
2018-01-24 21:17       ` Junio C Hamano
2018-01-24 21:45         ` Junio C Hamano
2018-01-24 21:51         ` Randall S. Becker
2018-01-21 23:42 ` [PATCH v4 4/4] Add intptr_t and uintptr_t to regcomp.c for NonStop platform randall.s.becker

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).