Re: [PATCH] perf build: Remove stray '\' before that is warned about since grep 3.8

From: Arnaldo Carvalho de Melo
Date: Tue Oct 24 2023 - 11:12:51 EST


Em Fri, Oct 20, 2023 at 02:15:03PM -0700, Namhyung Kim escreveu:
> On Fri, Oct 20, 2023 at 1:34 PM Arnaldo Carvalho de Melo > <acme@xxxxxxxxxx> wrote:
> > Em Tue, Oct 17, 2023 at 12:02:20PM -0700, Namhyung Kim escreveu:
> > > On Tue, Oct 17, 2023 at 11:15 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> > > > To address this grep 3.8 warning:

> > > > grep: warning: stray \ before #

> > > > +++ b/tools/perf/Makefile.perf
> > > > @@ -361,7 +361,7 @@ python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT
> > > > ifeq ($(CONFIG_LIBTRACEEVENT),y)
> > > > PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)

> > > Do we need to change it here too? Otherwise looks good

> > I think I did tests and simply removing the \ in this case will comment
> > out the rest of the line after the #, IIRC we would have to enclose it
> > in '', like
> >
> > PYTHON_EXT_SRCS := $(shell grep -v '^\#' util/python-ext-sources)
> >
> > But then if it works as-is, why pollute the patch? :-)
> >
> > In general the less lines you touch in a patch, the better, don't fix
> > what isn't broken, helps reviewing, etc. :-)
>
> Agreed, thanks!
> Namhyung

But while this makes it build in newer systems, it breaks on older ones:

Makefile.perf:364: *** unterminated call to function 'shell': missing ')'. Stop.
make[1]: *** [Makefile.perf:242: sub-make] Error 2
make: *** [Makefile:70: all] Error 2
make: Leaving directory '/git/perf-6.6.0-rc1/tools/perf'
+ exit 1
[perfbuilder@five ~]$ dsh opensuse:15.4
sh-4.4$ rpm -q grep make
grep-3.1-150000.4.6.1.x86_64
make-4.2.1-7.3.2.x86_64
sh-4.4$

Makefile.perf:364: *** unterminated call to function 'shell': missing ')'. Stop.
make[1]: *** [Makefile.perf:242: sub-make] Error 2
make: *** [Makefile:70: all] Error 2
make: Leaving directory '/git/perf-6.6.0-rc1/tools/perf'
+ exit 1
[perfbuilder@five ~]$ dsh ubuntu:20.04
$ dpkg -l make grep
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii grep 3.4-1 amd64 GNU grep, egrep and fgrep
ii make 4.2.1-1.2 amd64 utility for directing compilation
$

Both these containers don't have libtraceevent-devel installed (not
available).

:-\

- Arnaldo