# [PATCH] fix 'make test' for HP NonStop

7 messages from 2012-10-22 to 2012-10-25. Participants: Joachim Schmitz, Jeff King.
Thread: https://gitlist.dev/t/31901

## Joachim Schmitz, 2012-10-22 14:30

Subject: [PATCH] fix 'make test' for HP NonStop
Message-ID: <001e01cdb061$c25f6380$471e2a80$@schmitz-digital.de>
URL: https://gitlist.dev/e/001e01cdb061%24c25f6380%24471e2a80%24%40schmitz-digital.de

```
This fixes the vast majority of test failures on HP NonStop.

Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de>
---
A few more still insist on /usr/local/bin being 1st in PATH and having done that
we're down to one single failing test, t0301 #12 "helper (cache --timeout=1) times out"

Makefile | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/Makefile b/Makefile
index f69979e..35380dd 100644
--- a/Makefile
+++ b/Makefile
@@ -1381,6 +1381,15 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
	MKDIR_WO_TRAILING_SLASH = YesPlease
	# RFE 10-120912-4693 submitted to HP NonStop development.
	NO_SETITIMER = UnfortunatelyYes
+
+	# for 'make test'
+	# some test don't work with /bin/diff, some fail with /bin/tar
+	# some need bash, and some need ${prefix}/bin in PATH first
+	SHELL_PATH=${prefix}/bin/bash
+	SANE_TOOL_PATH=${prefix}/bin
+	# as of H06.25/J06.14, we might better use this
+	#SHELL_PATH=/usr/coreutils/bin/bash
+	#SANE_TOOL_PATH=/usr/coreutils/bin:${prefix}/bin
endif
ifneq (,$(findstring MINGW,$(uname_S)))
	pathsep = ;

```

## Jeff King, 2012-10-25 09:58

Subject: Re: [PATCH] fix 'make test' for HP NonStop
Message-ID: <20121025095826.GM8390@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20121025095826.GM8390%40sigill.intra.peff.net
In-Reply-To: <001e01cdb061$c25f6380$471e2a80$@schmitz-digital.de>

```
On Mon, Oct 22, 2012 at 04:30:17PM +0200, Joachim Schmitz wrote:

> +	# for 'make test'
> +	# some test don't work with /bin/diff, some fail with /bin/tar
> +	# some need bash, and some need ${prefix}/bin in PATH first
> +	SHELL_PATH=${prefix}/bin/bash
> +	SANE_TOOL_PATH=${prefix}/bin

This feels a little too specific to go in our Makefile. Do we have any
reason to think that where you are installing git is going to be the
same place you have bash and other sane tools? Wouldn't this mean that
things work when you run "make" but mysteriously break when you run
"make prefix=/my/local/install/of/git"?

-Peff

```

## Joachim Schmitz, 2012-10-25 10:21

Subject: RE: [PATCH] fix 'make test' for HP NonStop
Message-ID: <002e01cdb29a$893593f0$9ba0bbd0$@schmitz-digital.de>
URL: https://gitlist.dev/e/002e01cdb29a%24893593f0%249ba0bbd0%24%40schmitz-digital.de
In-Reply-To: <20121025095826.GM8390@sigill.intra.peff.net>

```
> From: Jeff King [mailto:peff@peff.net]
> Sent: Thursday, October 25, 2012 11:58 AM
> To: Joachim Schmitz
> Cc: git@vger.kernel.org
> Subject: Re: [PATCH] fix 'make test' for HP NonStop
> 
> On Mon, Oct 22, 2012 at 04:30:17PM +0200, Joachim Schmitz wrote:
> 
> > +	# for 'make test'
> > +	# some test don't work with /bin/diff, some fail with /bin/tar
> > +	# some need bash, and some need ${prefix}/bin in PATH first
> > +	SHELL_PATH=${prefix}/bin/bash
> > +	SANE_TOOL_PATH=${prefix}/bin
> 
> This feels a little too specific to go in our Makefile. Do we have any
> reason to think that where you are installing git is going to be the
> same place you have bash and other sane tools? Wouldn't this mean that
> things work when you run "make" but mysteriously break when you run
> "make prefix=/my/local/install/of/git"?

Well, "make" won't break (I think), but "make test" very well might.

Well, so far all OpenSource packages ported to HP NonStop (at least the ones on ituglib.connect-community.org) use prefix=/usr/local and there is no intention to change that.
A few (bash, vim, coreutils, tar, gzip, bzip2) get delivered with the system meanwhile (rather than having to be downloaded and installed by the customer) and live in /usr/corutiles. Still more are needed (e.g. diff , make).
The next lines in my patch cater for that, it is missing though an automatic switch.
Such a switch would be possible, using 'uname -r' and 'uname -v', but pretty convoluted

Pseudo code:
If (`uname -r` = J06 && `uname -v` >= 14) || (`uname -r`= H06 && `uname -v` >= 25)
	SHELL_PATH=/usr/coreutils/bin/bash
	SANE_TOOL_PATH=/usr/coreutils/bin:${prefix}/bin
else
	SHELL_PATH=${prefix}/bin/bash
	SANE_TOOL_PATH=${prefix}/bin
endif	

I didn't deem it worth the effort. As mentioned it'd most likely still need stuff from /usr/local/bin

And someone wanting prefix somewhere else could still do
PATH=/usr/local/bin:$PATH make prefix=/my/local/install/of/git 
And so find what's need in either the 1st or 2nd path of PATH

Bye, Jojo

```

## Jeff King, 2012-10-25 10:49

Subject: Re: [PATCH] fix 'make test' for HP NonStop
Message-ID: <20121025104900.GA6363@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20121025104900.GA6363%40sigill.intra.peff.net
In-Reply-To: <002e01cdb29a$893593f0$9ba0bbd0$@schmitz-digital.de>

```
On Thu, Oct 25, 2012 at 12:21:44PM +0200, Joachim Schmitz wrote:

> > > +	# for 'make test'
> > > +	# some test don't work with /bin/diff, some fail with /bin/tar
> > > +	# some need bash, and some need ${prefix}/bin in PATH first
> > > +	SHELL_PATH=${prefix}/bin/bash
> > > +	SANE_TOOL_PATH=${prefix}/bin
> > 
> > This feels a little too specific to go in our Makefile. Do we have any
> > reason to think that where you are installing git is going to be the
> > same place you have bash and other sane tools? Wouldn't this mean that
> > things work when you run "make" but mysteriously break when you run
> > "make prefix=/my/local/install/of/git"?
> 
> Well, "make" won't break (I think), but "make test" very well might.

Sure.

> Well, so far all OpenSource packages ported to HP NonStop (at least
> the ones on ituglib.connect-community.org) use prefix=/usr/local and
> there is no intention to change that.

But then I would think using /usr/local would be the sane thing to put
there, if that is the closest to "standard" for your platform.

If there is not a standard, then I think we are better off leaving it
blank and letting people do the right thing for their system (including
packagers who are building for other people).

-Peff

```

## Joachim Schmitz, 2012-10-25 10:51

Subject: RE: [PATCH] fix 'make test' for HP NonStop
Message-ID: <002f01cdb29e$c2db47e0$4891d7a0$@schmitz-digital.de>
URL: https://gitlist.dev/e/002f01cdb29e%24c2db47e0%244891d7a0%24%40schmitz-digital.de
In-Reply-To: <20121025104900.GA6363@sigill.intra.peff.net>

```
> From: Jeff King [mailto:peff@peff.net]
> Sent: Thursday, October 25, 2012 12:49 PM
> To: Joachim Schmitz
> Cc: git@vger.kernel.org
> Subject: Re: [PATCH] fix 'make test' for HP NonStop
> 
> On Thu, Oct 25, 2012 at 12:21:44PM +0200, Joachim Schmitz wrote:
> 
> > > > +	# for 'make test'
> > > > +	# some test don't work with /bin/diff, some fail with /bin/tar
> > > > +	# some need bash, and some need ${prefix}/bin in PATH first
> > > > +	SHELL_PATH=${prefix}/bin/bash
> > > > +	SANE_TOOL_PATH=${prefix}/bin
> > >
> > > This feels a little too specific to go in our Makefile. Do we have any
> > > reason to think that where you are installing git is going to be the
> > > same place you have bash and other sane tools? Wouldn't this mean that
> > > things work when you run "make" but mysteriously break when you run
> > > "make prefix=/my/local/install/of/git"?
> >
> > Well, "make" won't break (I think), but "make test" very well might.
> 
> Sure.
> 
> > Well, so far all OpenSource packages ported to HP NonStop (at least
> > the ones on ituglib.connect-community.org) use prefix=/usr/local and
> > there is no intention to change that.
> 
> But then I would think using /usr/local would be the sane thing to put
> there, if that is the closest to "standard" for your platform.

OK, yes, hardcoding /usr/local seems OK too.
Would I need to re-roll?

Bye, Jojo

```

## Jeff King, 2012-10-25 10:52

Subject: Re: [PATCH] fix 'make test' for HP NonStop
Message-ID: <20121025105236.GA2962@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20121025105236.GA2962%40sigill.intra.peff.net
In-Reply-To: <002f01cdb29e$c2db47e0$4891d7a0$@schmitz-digital.de>

```
On Thu, Oct 25, 2012 at 12:51:59PM +0200, Joachim Schmitz wrote:

> > But then I would think using /usr/local would be the sane thing to put
> > there, if that is the closest to "standard" for your platform.
> 
> OK, yes, hardcoding /usr/local seems OK too.
> Would I need to re-roll?

Please do.

-Peff

```

## Joachim Schmitz, 2012-10-25 10:59

Subject: RE: [PATCH] fix 'make test' for HP NonStop
Message-ID: <003201cdb29f$c5bc7960$51356c20$@schmitz-digital.de>
URL: https://gitlist.dev/e/003201cdb29f%24c5bc7960%2451356c20%24%40schmitz-digital.de
In-Reply-To: <20121025105236.GA2962@sigill.intra.peff.net>

```
> From: Jeff King [mailto:peff@peff.net]
> Sent: Thursday, October 25, 2012 12:53 PM
> To: Joachim Schmitz
> Cc: git@vger.kernel.org
> Subject: Re: [PATCH] fix 'make test' for HP NonStop
> 
> On Thu, Oct 25, 2012 at 12:51:59PM +0200, Joachim Schmitz wrote:
> 
> > > But then I would think using /usr/local would be the sane thing to put
> > > there, if that is the closest to "standard" for your platform.
> >
> > OK, yes, hardcoding /usr/local seems OK too.
> > Would I need to re-roll?
> 
> Please do.

Done. For some reason not 'chained' to this thread though

Bye, Jojo

```
