Re: [PATCH] bpftool: Fix version string in recursive builds

2020-08-14 Thread Yonghong Song




On 8/14/20 3:17 PM, Ben Hutchings wrote:

On Fri, 2020-08-14 at 08:43 -0700, Yonghong Song wrote:
[...]

I tried the following

--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -25,7 +25,7 @@ endif

   LIBBPF = $(LIBBPF_PATH)libbpf.a

-BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../..
kernelversion)
+BPFTOOL_VERSION := $(shell MAKEFLAGS=w make -rR --no-print-directory
-sC ../../.. kernelversion)

-bash-4.4$ ./bpftool version
./bpftool v5.8.0

I set env variable MAKEFLAGS=w, and build bpftool it works fine too.
Maybe I miss something or debian changed top level Makefile?


Yes, but we don't change MAKEFLAGS or any of the logic around quietness
or verbosity.

I assume there are other factors involved, as I've also been unable to
construct a simple reproducer.


It would be good to know what is the exact problem, and then we can
decide whether this patch is the most appropriate fix or not.



Ben.


I am testing against latest bpf tree.

   
   $(LIBBPF): FORCE

$(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT))





Re: [PATCH] bpftool: Fix version string in recursive builds

2020-08-14 Thread Ben Hutchings
On Fri, 2020-08-14 at 08:43 -0700, Yonghong Song wrote:
[...]
> I tried the following
> 
> --- a/tools/bpf/bpftool/Makefile
> +++ b/tools/bpf/bpftool/Makefile
> @@ -25,7 +25,7 @@ endif
> 
>   LIBBPF = $(LIBBPF_PATH)libbpf.a
> 
> -BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. 
> kernelversion)
> +BPFTOOL_VERSION := $(shell MAKEFLAGS=w make -rR --no-print-directory 
> -sC ../../.. kernelversion)
> 
> -bash-4.4$ ./bpftool version
> ./bpftool v5.8.0
> 
> I set env variable MAKEFLAGS=w, and build bpftool it works fine too.
> Maybe I miss something or debian changed top level Makefile?

Yes, but we don't change MAKEFLAGS or any of the logic around quietness
or verbosity.

I assume there are other factors involved, as I've also been unable to
construct a simple reproducer.

Ben.

> I am testing against latest bpf tree.
> 
> >   
> >   $(LIBBPF): FORCE
> > $(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT))
> > 
-- 
Ben Hutchings - Debian developer, member of kernel, installer and LTS teams


signature.asc
Description: This is a digitally signed message part


Re: [PATCH] bpftool: Fix version string in recursive builds

2020-08-14 Thread Yonghong Song




On 8/13/20 4:58 PM, Ben Hutchings wrote:

When bpftool is built as part of a Debian package build, which itself
uses make, "bpftool version" shows:

 bpftool vmake[4]: Entering directory /build/linux-5.8/tools/bpf/bpftool 
5.8.8.0 make[4]: Leaving directory /build/linux-5.8

Although we pass the "--no-print-directory" option, this is overridden
by the environment variable "MAKEFLAGS=w".  Clear MAKEFLAGS for the
"make kernelversion" command.

I have no explanation for the doubled ".8" in the version string, but
this seems to fix that as well.

Signed-off-by: Ben Hutchings 
---
  tools/bpf/bpftool/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index 9e85f101be85..7fbad8cbd171 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -25,7 +25,7 @@ endif
  
  LIBBPF = $(LIBBPF_PATH)libbpf.a
  
-BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. kernelversion)

+BPFTOOL_VERSION := $(shell MAKEFLAGS= make -rR --no-print-directory -sC 
../../.. kernelversion)


I tried the following

--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -25,7 +25,7 @@ endif

 LIBBPF = $(LIBBPF_PATH)libbpf.a

-BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. 
kernelversion)
+BPFTOOL_VERSION := $(shell MAKEFLAGS=w make -rR --no-print-directory 
-sC ../../.. kernelversion)


-bash-4.4$ ./bpftool version
./bpftool v5.8.0

I set env variable MAKEFLAGS=w, and build bpftool it works fine too.
Maybe I miss something or debian changed top level Makefile?

I am testing against latest bpf tree.

  
  $(LIBBPF): FORCE

$(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT))





[PATCH] bpftool: Fix version string in recursive builds

2020-08-13 Thread Ben Hutchings
When bpftool is built as part of a Debian package build, which itself
uses make, "bpftool version" shows:

bpftool vmake[4]: Entering directory /build/linux-5.8/tools/bpf/bpftool 
5.8.8.0 make[4]: Leaving directory /build/linux-5.8

Although we pass the "--no-print-directory" option, this is overridden
by the environment variable "MAKEFLAGS=w".  Clear MAKEFLAGS for the
"make kernelversion" command.

I have no explanation for the doubled ".8" in the version string, but
this seems to fix that as well.

Signed-off-by: Ben Hutchings 
---
 tools/bpf/bpftool/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index 9e85f101be85..7fbad8cbd171 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -25,7 +25,7 @@ endif
 
 LIBBPF = $(LIBBPF_PATH)libbpf.a
 
-BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. 
kernelversion)
+BPFTOOL_VERSION := $(shell MAKEFLAGS= make -rR --no-print-directory -sC 
../../.. kernelversion)
 
 $(LIBBPF): FORCE
$(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT))


signature.asc
Description: PGP signature