Message ID | 9154d66961804027b1bdc26f1ff08012bb7f9df8.1657269675.git.bristot@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | rtla: Fix Makefile when called from -C tools/ | expand |
On Fri, Jul 8, 2022 at 2:17 PM Daniel Bristot de Oliveira <bristot@kernel.org> wrote: > > Sedat Dilek reported an error on rtla Makefile when running: > Hi Daniel, Thanks for the patch. > $ make -C tools/ No, that was with... $ make -C tools/ clean > [...] > make[2]: Entering directory > '/home/dileks/src/linux-kernel/git/tools/tracing/rtla' > [...] > '/home/dileks/src/linux-kernel/git/Documentation/tools/rtla' > /bin/sh: 1: test: rtla-make[2]:: unexpected operator <------ The problem > rm: cannot remove '/home/dileks/src/linux-kernel/git': Is a directory > make[2]: *** [Makefile:120: clean] Error 1 > make[2]: Leaving directory > > This occurred because the rtla calls kernel's Makefile to get the > version in silence mode, e.g., > > $ make -sC ../../.. kernelversion > 5.19.0-rc4 > > But the -s is being ignored when rtla's makefile is called from indirectly, > so the output looks like: > > $ make -C ../../.. kernelversion > make: Entering directory '/root/linux' > 5.19.0-rc4 > make: Leaving directory '/root/linux' > > 'grep -v make' to avoid this problem, e.g., > Missing word at the beginning soething like: Use 'grep -v make' to avoid this problem ... > $ make -C ../../.. kernelversion | grep -v make > 5.19.0-rc4 > Shouldn't that be: $ make -sC ... (missing "s") Regards, -Sedat- > Cc: Steven Rostedt <rostedt@goodmis.org> > Fixes: 8619e32825fd ("rtla: Follow kernel version") > Reported-by: Sedat Dilek <sedat.dilek@gmail.com> > Tested-by: Sedat Dilek <sedat.dilek@gmail.com> > Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> > --- > tools/tracing/rtla/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/tracing/rtla/Makefile b/tools/tracing/rtla/Makefile > index 3822f4ea5f49..1bea2d16d4c1 100644 > --- a/tools/tracing/rtla/Makefile > +++ b/tools/tracing/rtla/Makefile > @@ -1,6 +1,6 @@ > NAME := rtla > # Follow the kernel version > -VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion) > +VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion | grep -v make) > > # From libtracefs: > # Makefiles suck: This macro sets a default value of $(2) for the > -- > 2.32.0 >
On Sun, 10 Jul 2022 10:40:47 +0200 Sedat Dilek <sedat.dilek@gmail.com> wrote: > On Fri, Jul 8, 2022 at 2:17 PM Daniel Bristot de Oliveira > <bristot@kernel.org> wrote: > > > > Sedat Dilek reported an error on rtla Makefile when running: > > > > Hi Daniel, > > Thanks for the patch. > > > $ make -C tools/ > > No, that was with... > > $ make -C tools/ clean > > > [...] > > make[2]: Entering directory > > '/home/dileks/src/linux-kernel/git/tools/tracing/rtla' > > [...] > > '/home/dileks/src/linux-kernel/git/Documentation/tools/rtla' > > /bin/sh: 1: test: rtla-make[2]:: unexpected operator <------ The problem > > rm: cannot remove '/home/dileks/src/linux-kernel/git': Is a directory > > make[2]: *** [Makefile:120: clean] Error 1 > > make[2]: Leaving directory > > > > This occurred because the rtla calls kernel's Makefile to get the > > version in silence mode, e.g., > > > > $ make -sC ../../.. kernelversion > > 5.19.0-rc4 > > > > But the -s is being ignored when rtla's makefile is called from indirectly, > > so the output looks like: > > > > $ make -C ../../.. kernelversion > > make: Entering directory '/root/linux' > > 5.19.0-rc4 > > make: Leaving directory '/root/linux' > > > > 'grep -v make' to avoid this problem, e.g., > > > > Missing word at the beginning soething like: > > Use 'grep -v make' to avoid this problem ... > > > $ make -C ../../.. kernelversion | grep -v make > > 5.19.0-rc4 > > > > Shouldn't that be: > > $ make -sC ... (missing "s") Hi Daniel, Any response to Sedat's comments? I'm holding off sending the rtla branch to Linus waiting for an update to this patch. -- Steve
On 7/10/22 10:40, Sedat Dilek wrote: Fixing the other comments in the v2... and >> $ make -C ../../.. kernelversion | grep -v make >> 5.19.0-rc4 >> > Shouldn't that be: > > $ make -sC ... (missing "s") I did not add the -s here to show that the | grep -v make fixes the problem when the -s is ignored/bypassed (the cause of this bug). Sending the v2 (Sorry for the delay Steven) -- Daniel
diff --git a/tools/tracing/rtla/Makefile b/tools/tracing/rtla/Makefile index 3822f4ea5f49..1bea2d16d4c1 100644 --- a/tools/tracing/rtla/Makefile +++ b/tools/tracing/rtla/Makefile @@ -1,6 +1,6 @@ NAME := rtla # Follow the kernel version -VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion) +VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion | grep -v make) # From libtracefs: # Makefiles suck: This macro sets a default value of $(2) for the