threads / patch / 31901

patchfix 'make test' for HP NonStop

Subject: [PATCH] fix 'make test' for HP NonStop

## tl;dr

7 messages between Oct 22, 2012 and Oct 25, 2012. Diffs are folded; open one to read it.

replies: 6people: 2as markdown or json

Joachim Schmitz· Oct 22, 2012, 14:30 UTC · lore
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(+)

Show changes to Makefile +9 −0
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· Oct 25, 2012, 09:58 UTC · re: Joachim Schmitz · lore

Re: [PATCH] fix 'make test' for HP NonStop

On Mon, Oct 22, 2012 at 04:30:17PM +0200, Joachim Schmitz wrote:
Show 5 quoted lines
> +	# 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· Oct 25, 2012, 10:21 UTC · re: Jeff King · lore

RE: [PATCH] fix 'make test' for HP NonStop

Show 19 quoted lines
> 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· Oct 25, 2012, 10:49 UTC · re: Joachim Schmitz · lore

Re: [PATCH] fix 'make test' for HP NonStop

On Thu, Oct 25, 2012 at 12:21:44PM +0200, Joachim Schmitz wrote:
Show 13 quoted lines
> > > +	# 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· Oct 25, 2012, 10:51 UTC · re: Jeff King · lore

RE: [PATCH] fix 'make test' for HP NonStop

Show 30 quoted lines
> 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· Oct 25, 2012, 10:52 UTC · re: Joachim Schmitz · lore

Re: [PATCH] fix 'make test' for HP NonStop

On Thu, Oct 25, 2012 at 12:51:59PM +0200, Joachim Schmitz wrote:
Show 5 quoted lines
> > 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· Oct 25, 2012, 10:59 UTC · re: Jeff King · lore

RE: [PATCH] fix 'make test' for HP NonStop

Show 15 quoted lines
> 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

← back to recent threads