linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option
@ 2020-03-06 18:32 Masami Hiramatsu
  2020-03-06 20:12 ` Arnaldo Carvalho de Melo
  2020-03-19 14:04 ` [tip: perf/urgent] " tip-bot2 for Masami Hiramatsu
  0 siblings, 2 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2020-03-06 18:32 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Geert Uytterhoeven, Borislav Petkov, LKML, Ingo Molnar,
	Randy Dunlap, Andrew Morton, Masami Hiramatsu, Peter Zijlstra,
	Sasha Levin, Arnaldo Carvalho de Melo, Jiri Olsa,
	Masahiro Yamada, Michal Marek

When I compiled tools/perf from top directory with the -C option,
the O= option didn't work correctly if I passed a relative path.

  $ make O=BUILD -C tools/perf/
  make: Entering directory '/home/mhiramat/ksrc/linux/tools/perf'
    BUILD:   Doing 'make -j8' parallel build
  ../scripts/Makefile.include:4: *** O=/home/mhiramat/ksrc/linux/tools/perf/BUILD does not exist.  Stop.
  make: *** [Makefile:70: all] Error 2
  make: Leaving directory '/home/mhiramat/ksrc/linux/tools/perf'

The O= directory existence check failed because the check
script ran in the build target directory instead of the
directory where I ran the make command.

To fix that, once change directory to $(PWD) and check O=
directory, since the PWD is set to where the make command
runs.

Fixes: c883122acc0d ("perf tools: Let O= makes handle relative paths")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: stable@vger.kernel.org

---
 Changes in V2:
 - Fix tools/perf/Makefile because it has own O= pre-process.
 - Use tools/perf for example.
 - Add explicit Cc: stable@vger.kernel.org tag.
---
 tools/perf/Makefile            |    2 +-
 tools/scripts/Makefile.include |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7902a5681fc8..b8fc7d972be9 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -35,7 +35,7 @@ endif
 # Only pass canonical directory names as the output directory:
 #
 ifneq ($(O),)
-  FULL_O := $(shell readlink -f $(O) || echo $(O))
+  FULL_O := $(shell cd $(PWD); readlink -f $(O) || echo $(O))
 endif
 
 #
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index ded7a950dc40..6d2f3a1b2249 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 ifneq ($(O),)
 ifeq ($(origin O), command line)
-	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
-	ABSOLUTE_O := $(shell cd $(O) ; pwd)
+	dummy := $(if $(shell cd $(PWD); test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
+	ABSOLUTE_O := $(shell cd $(PWD); cd $(O) ; pwd)
 	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
 	COMMAND_O := O=$(ABSOLUTE_O)
 ifeq ($(objtree),)


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

* Re: [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option
  2020-03-06 18:32 [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option Masami Hiramatsu
@ 2020-03-06 20:12 ` Arnaldo Carvalho de Melo
  2020-03-07  2:27   ` Masami Hiramatsu
  2020-03-19 14:04 ` [tip: perf/urgent] " tip-bot2 for Masami Hiramatsu
  1 sibling, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-03-06 20:12 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: Steven Rostedt, Geert Uytterhoeven, Borislav Petkov, LKML,
	Ingo Molnar, Randy Dunlap, Andrew Morton, Peter Zijlstra,
	Sasha Levin, Jiri Olsa, Masahiro Yamada, Michal Marek

Em Sat, Mar 07, 2020 at 03:32:58AM +0900, Masami Hiramatsu escreveu:
> When I compiled tools/perf from top directory with the -C option,
> the O= option didn't work correctly if I passed a relative path.
> 
>   $ make O=BUILD -C tools/perf/
>   make: Entering directory '/home/mhiramat/ksrc/linux/tools/perf'
>     BUILD:   Doing 'make -j8' parallel build
>   ../scripts/Makefile.include:4: *** O=/home/mhiramat/ksrc/linux/tools/perf/BUILD does not exist.  Stop.
>   make: *** [Makefile:70: all] Error 2
>   make: Leaving directory '/home/mhiramat/ksrc/linux/tools/perf'
> 
> The O= directory existence check failed because the check
> script ran in the build target directory instead of the
> directory where I ran the make command.
> 
> To fix that, once change directory to $(PWD) and check O=
> directory, since the PWD is set to where the make command
> runs.

Tested with O=/non/relative/paths, as I always use, not to polute the
checked out kerneo sources, and with a relative path, as fixed in this
patch, now both works, thanks, will be in my next perf/urgent pull req
to Ingo.

- Arnaldo
 
> Fixes: c883122acc0d ("perf tools: Let O= makes handle relative paths")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> Cc: stable@vger.kernel.org
> 
> ---
>  Changes in V2:
>  - Fix tools/perf/Makefile because it has own O= pre-process.
>  - Use tools/perf for example.
>  - Add explicit Cc: stable@vger.kernel.org tag.
> ---
>  tools/perf/Makefile            |    2 +-
>  tools/scripts/Makefile.include |    4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 7902a5681fc8..b8fc7d972be9 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -35,7 +35,7 @@ endif
>  # Only pass canonical directory names as the output directory:
>  #
>  ifneq ($(O),)
> -  FULL_O := $(shell readlink -f $(O) || echo $(O))
> +  FULL_O := $(shell cd $(PWD); readlink -f $(O) || echo $(O))
>  endif
>  
>  #
> diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
> index ded7a950dc40..6d2f3a1b2249 100644
> --- a/tools/scripts/Makefile.include
> +++ b/tools/scripts/Makefile.include
> @@ -1,8 +1,8 @@
>  # SPDX-License-Identifier: GPL-2.0
>  ifneq ($(O),)
>  ifeq ($(origin O), command line)
> -	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
> -	ABSOLUTE_O := $(shell cd $(O) ; pwd)
> +	dummy := $(if $(shell cd $(PWD); test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
> +	ABSOLUTE_O := $(shell cd $(PWD); cd $(O) ; pwd)
>  	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
>  	COMMAND_O := O=$(ABSOLUTE_O)
>  ifeq ($(objtree),)
> 

-- 

- Arnaldo

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

* Re: [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option
  2020-03-06 20:12 ` Arnaldo Carvalho de Melo
@ 2020-03-07  2:27   ` Masami Hiramatsu
  0 siblings, 0 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2020-03-07  2:27 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Steven Rostedt, Geert Uytterhoeven, Borislav Petkov, LKML,
	Ingo Molnar, Randy Dunlap, Andrew Morton, Peter Zijlstra,
	Sasha Levin, Jiri Olsa, Masahiro Yamada, Michal Marek

On Fri, 6 Mar 2020 17:12:03 -0300
Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> Em Sat, Mar 07, 2020 at 03:32:58AM +0900, Masami Hiramatsu escreveu:
> > When I compiled tools/perf from top directory with the -C option,
> > the O= option didn't work correctly if I passed a relative path.
> > 
> >   $ make O=BUILD -C tools/perf/
> >   make: Entering directory '/home/mhiramat/ksrc/linux/tools/perf'
> >     BUILD:   Doing 'make -j8' parallel build
> >   ../scripts/Makefile.include:4: *** O=/home/mhiramat/ksrc/linux/tools/perf/BUILD does not exist.  Stop.
> >   make: *** [Makefile:70: all] Error 2
> >   make: Leaving directory '/home/mhiramat/ksrc/linux/tools/perf'
> > 
> > The O= directory existence check failed because the check
> > script ran in the build target directory instead of the
> > directory where I ran the make command.
> > 
> > To fix that, once change directory to $(PWD) and check O=
> > directory, since the PWD is set to where the make command
> > runs.
> 
> Tested with O=/non/relative/paths, as I always use, not to polute the
> checked out kerneo sources, and with a relative path, as fixed in this
> patch, now both works, thanks, will be in my next perf/urgent pull req
> to Ingo.
> 

Thanks Arnaldo!


> - Arnaldo
>  
> > Fixes: c883122acc0d ("perf tools: Let O= makes handle relative paths")
> > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> > Cc: stable@vger.kernel.org
> > 
> > ---
> >  Changes in V2:
> >  - Fix tools/perf/Makefile because it has own O= pre-process.
> >  - Use tools/perf for example.
> >  - Add explicit Cc: stable@vger.kernel.org tag.
> > ---
> >  tools/perf/Makefile            |    2 +-
> >  tools/scripts/Makefile.include |    4 ++--
> >  2 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> > index 7902a5681fc8..b8fc7d972be9 100644
> > --- a/tools/perf/Makefile
> > +++ b/tools/perf/Makefile
> > @@ -35,7 +35,7 @@ endif
> >  # Only pass canonical directory names as the output directory:
> >  #
> >  ifneq ($(O),)
> > -  FULL_O := $(shell readlink -f $(O) || echo $(O))
> > +  FULL_O := $(shell cd $(PWD); readlink -f $(O) || echo $(O))
> >  endif
> >  
> >  #
> > diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
> > index ded7a950dc40..6d2f3a1b2249 100644
> > --- a/tools/scripts/Makefile.include
> > +++ b/tools/scripts/Makefile.include
> > @@ -1,8 +1,8 @@
> >  # SPDX-License-Identifier: GPL-2.0
> >  ifneq ($(O),)
> >  ifeq ($(origin O), command line)
> > -	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
> > -	ABSOLUTE_O := $(shell cd $(O) ; pwd)
> > +	dummy := $(if $(shell cd $(PWD); test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
> > +	ABSOLUTE_O := $(shell cd $(PWD); cd $(O) ; pwd)
> >  	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
> >  	COMMAND_O := O=$(ABSOLUTE_O)
> >  ifeq ($(objtree),)
> > 
> 
> -- 
> 
> - Arnaldo


-- 
Masami Hiramatsu <mhiramat@kernel.org>

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

* [tip: perf/urgent] tools: Let O= makes handle a relative path with -C option
  2020-03-06 18:32 [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option Masami Hiramatsu
  2020-03-06 20:12 ` Arnaldo Carvalho de Melo
@ 2020-03-19 14:04 ` tip-bot2 for Masami Hiramatsu
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot2 for Masami Hiramatsu @ 2020-03-19 14:04 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Randy Dunlap, Masami Hiramatsu, Andrew Morton, Borislav Petkov,
	Geert Uytterhoeven, Jiri Olsa, Masahiro Yamada, Michal Marek,
	Peter Zijlstra, Sasha Levin, Steven Rostedt (VMware),
	stable, Arnaldo Carvalho de Melo, x86, LKML

The following commit has been merged into the perf/urgent branch of tip:

Commit-ID:     be40920fbf1003c38ccdc02b571e01a75d890c82
Gitweb:        https://git.kernel.org/tip/be40920fbf1003c38ccdc02b571e01a75d890c82
Author:        Masami Hiramatsu <mhiramat@kernel.org>
AuthorDate:    Sat, 07 Mar 2020 03:32:58 +09:00
Committer:     Arnaldo Carvalho de Melo <acme@redhat.com>
CommitterDate: Fri, 06 Mar 2020 17:08:28 -03:00

tools: Let O= makes handle a relative path with -C option

When I tried to compile tools/perf from the top directory with the -C
option, the O= option didn't work correctly if I passed a relative path:

  $ make O=BUILD -C tools/perf/
  make: Entering directory '/home/mhiramat/ksrc/linux/tools/perf'
    BUILD:   Doing 'make -j8' parallel build
  ../scripts/Makefile.include:4: *** O=/home/mhiramat/ksrc/linux/tools/perf/BUILD does not exist.  Stop.
  make: *** [Makefile:70: all] Error 2
  make: Leaving directory '/home/mhiramat/ksrc/linux/tools/perf'

The O= directory existence check failed because the check script ran in
the build target directory instead of the directory where I ran the make
command.

To fix that, once change directory to $(PWD) and check O= directory,
since the PWD is set to where the make command runs.

Fixes: c883122acc0d ("perf tools: Let O= makes handle relative paths")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: stable@vger.kernel.org
Link: http://lore.kernel.org/lkml/158351957799.3363.15269768530697526765.stgit@devnote2
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Makefile            | 2 +-
 tools/scripts/Makefile.include | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7902a56..b8fc7d9 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -35,7 +35,7 @@ endif
 # Only pass canonical directory names as the output directory:
 #
 ifneq ($(O),)
-  FULL_O := $(shell readlink -f $(O) || echo $(O))
+  FULL_O := $(shell cd $(PWD); readlink -f $(O) || echo $(O))
 endif
 
 #
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index ded7a95..6d2f3a1 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 ifneq ($(O),)
 ifeq ($(origin O), command line)
-	dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
-	ABSOLUTE_O := $(shell cd $(O) ; pwd)
+	dummy := $(if $(shell cd $(PWD); test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
+	ABSOLUTE_O := $(shell cd $(PWD); cd $(O) ; pwd)
 	OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
 	COMMAND_O := O=$(ABSOLUTE_O)
 ifeq ($(objtree),)

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

end of thread, other threads:[~2020-03-19 14:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06 18:32 [BUGFIX PATCH v2] tools: Let O= makes handle a relative path with -C option Masami Hiramatsu
2020-03-06 20:12 ` Arnaldo Carvalho de Melo
2020-03-07  2:27   ` Masami Hiramatsu
2020-03-19 14:04 ` [tip: perf/urgent] " tip-bot2 for Masami Hiramatsu

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 NNTP newsgroup(s).