All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/1] package/bpftool: new package
@ 2022-01-31 18:51 James Hilliard
  2022-02-12 13:25 ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: James Hilliard @ 2022-01-31 18:51 UTC (permalink / raw)
  To: buildroot; +Cc: James Hilliard, Yann E . MORIN, Thomas Petazzoni

Move the target bpftool build out of linux-tools so that it is
up to date.

This also fixes build issues due to differences between kernel
versions. The latest version should be fully backwards compatible.

The host bpftool is needed for enabling features such as the systemd
bpf-framework(to be added in a future patch).

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v3 -> v4:
  - remove linux-tools bpftool kconfig entry
Changes v2 -> v3:
  - fix target install
Changes v1 -> v2:
  - move target bpftool out of linux-tools into stand-alone build
---
 Config.in.legacy                             |  8 ++++
 DEVELOPERS                                   |  1 +
 package/Config.in                            |  1 +
 package/bpftool/Config.in                    | 18 ++++++++
 package/bpftool/bpftool.hash                 |  5 +++
 package/bpftool/bpftool.mk                   | 45 ++++++++++++++++++++
 package/linux-tools/Config.in                | 22 ----------
 package/linux-tools/linux-tool-bpftool.mk.in | 37 ----------------
 8 files changed, 78 insertions(+), 59 deletions(-)
 create mode 100644 package/bpftool/Config.in
 create mode 100644 package/bpftool/bpftool.hash
 create mode 100644 package/bpftool/bpftool.mk
 delete mode 100644 package/linux-tools/linux-tool-bpftool.mk.in

diff --git a/Config.in.legacy b/Config.in.legacy
index 62717463df..dce236b3b4 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,14 @@ endif
 
 comment "Legacy options removed in 2022.02"
 
+config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL
+	bool "bpftool was moved"
+	select BR2_LEGACY
+	select BR2_PACKAGE_BPFTOOL
+	help
+	  The linux-tools bpftool build has been moved out
+	  of the linux-tools package.
+
 config BR2_PACKAGE_RPI_BT_FIRMWARE
 	bool "rpi-bt-firmware package was renamed"
 	depends on BR2_arm || BR2_aarch64
diff --git a/DEVELOPERS b/DEVELOPERS
index a1ec9a091e..51b52871ce 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1282,6 +1282,7 @@ F:	configs/pine64_sopine_defconfig
 
 N:	James Hilliard <james.hilliard1@gmail.com>
 F:	package/apcupsd/
+F:	package/bpftool/
 F:	package/exfatprogs/
 F:	package/gensio/
 F:	package/lua-std-debug/
diff --git a/package/Config.in b/package/Config.in
index e4ca195beb..dbdcc3919b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -86,6 +86,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/babeltrace2/Config.in"
 	source "package/blktrace/Config.in"
 	source "package/bonnie/Config.in"
+	source "package/bpftool/Config.in"
 	source "package/cache-calibrator/Config.in"
 	source "package/clinfo/Config.in"
 	source "package/coremark/Config.in"
diff --git a/package/bpftool/Config.in b/package/bpftool/Config.in
new file mode 100644
index 0000000000..39475aa962
--- /dev/null
+++ b/package/bpftool/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_BPFTOOL
+	bool "bpftool"
+	depends on !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils, elfutils
+	depends on !BR2_STATIC_LIBS # elfutils
+	depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils
+	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
+	select BR2_PACKAGE_BINUTILS
+	select BR2_PACKAGE_ELFUTILS
+	help
+	  bpftool is a tool for for inspection and simple manipulation
+	  of eBPF programs and maps.
+
+comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads"
+	depends on !BR2_nios2
+	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \
+		|| !BR2_TOOLCHAIN_HAS_THREADS \
+		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
diff --git a/package/bpftool/bpftool.hash b/package/bpftool/bpftool.hash
new file mode 100644
index 0000000000..c7d4ae250e
--- /dev/null
+++ b/package/bpftool/bpftool.hash
@@ -0,0 +1,5 @@
+# Locally calculated
+sha256  c868cb85bf44195ec6cd20649c3db4f7aff64a38d950a1c2911d981fb2d7042c  bpftool-a7f0e7f057283ae8af3de4578bcb8b7ee80b7144-br1.tar.gz
+sha256  7c588754d5e81e92e2a12e47cf78949d485c9c22b4850f12d21b3835c85947d1  LICENSE
+sha256  6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd  LICENSE.BSD-2-Clause
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSE.GPL-2.0
diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk
new file mode 100644
index 0000000000..4276f91958
--- /dev/null
+++ b/package/bpftool/bpftool.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# bpftool
+#
+################################################################################
+
+BPFTOOL_VERSION = a7f0e7f057283ae8af3de4578bcb8b7ee80b7144
+BPFTOOL_SITE = https://github.com/libbpf/bpftool
+BPFTOOL_SITE_METHOD = git
+BPFTOOL_GIT_SUBMODULES = YES
+BPFTOOL_LICENSE = GPL-2.0, BSD-2-Clause
+BPFTOOL_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.GPL-2.0
+BPFTOOL_DEPENDENCIES = binutils elfutils
+HOST_BPFTOOL_DEPENDENCIES = host-elfutils host-pkgconf host-zlib
+
+ifeq ($(BR2_PACKAGE_LIBCAP),y)
+BPFTOOL_DEPENDENCIES += libcap
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+BPFTOOL_DEPENDENCIES += zlib
+endif
+
+define BPFTOOL_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
+		-C $(@D)/src
+endef
+
+define HOST_BPFTOOL_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
+		-C $(@D)/src
+endef
+
+define BPFTOOL_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
+		-C $(@D)/src install DESTDIR="$(TARGET_DIR)" prefix=/usr
+endef
+
+define HOST_BPFTOOL_INSTALL_CMDS
+	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
+		-C $(@D)/src install DESTDIR="$(HOST_DIR)" prefix=/usr
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
index 28641dccdd..f459b41762 100644
--- a/package/linux-tools/Config.in
+++ b/package/linux-tools/Config.in
@@ -5,28 +5,6 @@ menu "Linux Kernel Tools"
 config BR2_PACKAGE_LINUX_TOOLS
 	bool
 
-config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL
-	bool "bpftool"
-	depends on !BR2_nios2 # binutils
-	depends on BR2_USE_WCHAR # binutils, elfutils
-	depends on !BR2_STATIC_LIBS # elfutils
-	depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils
-	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
-	select BR2_PACKAGE_LINUX_TOOLS
-	select BR2_PACKAGE_BINUTILS
-	select BR2_PACKAGE_ELFUTILS
-	help
-	  bpftool is a tool for for inspection and simple manipulation
-	  of eBPF programs and maps.
-
-	  These tools are available only from kernel version 4.15.
-
-comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads"
-	depends on !BR2_nios2
-	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \
-		|| !BR2_TOOLCHAIN_HAS_THREADS \
-		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
-
 config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
 	bool "cpupower"
 	select BR2_PACKAGE_LINUX_TOOLS
diff --git a/package/linux-tools/linux-tool-bpftool.mk.in b/package/linux-tools/linux-tool-bpftool.mk.in
deleted file mode 100644
index 0c4d3693a3..0000000000
--- a/package/linux-tools/linux-tool-bpftool.mk.in
+++ /dev/null
@@ -1,37 +0,0 @@
-################################################################################
-#
-# bpftool
-#
-################################################################################
-
-LINUX_TOOLS += bpftool
-
-BPFTOOL_DEPENDENCIES = binutils elfutils
-
-ifeq ($(BR2_PACKAGE_LIBCAP),y)
-BPFTOOL_DEPENDENCIES += libcap
-endif
-
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-BPFTOOL_DEPENDENCIES += zlib
-endif
-
-BPFTOOL_MAKE_OPTS = $(LINUX_MAKE_FLAGS)
-
-define BPFTOOL_BUILD_CMDS
-	$(Q)if ! grep install $(LINUX_DIR)/tools/bpf/bpftool/Makefile >/dev/null 2>&1 ; then \
-		echo "Your kernel version is too old and does not have install section in the bpf tools." ; \
-		echo "At least kernel 4.15 must be used." ; \
-		exit 1 ; \
-	fi
-
-	$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
-		$(BPFTOOL_MAKE_OPTS)
-endef
-
-define BPFTOOL_INSTALL_TARGET_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
-		$(BPFTOOL_MAKE_OPTS) \
-		DESTDIR=$(TARGET_DIR) \
-		install
-endef
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v4 1/1] package/bpftool: new package
  2022-01-31 18:51 [Buildroot] [PATCH v4 1/1] package/bpftool: new package James Hilliard
@ 2022-02-12 13:25 ` Arnout Vandecappelle
  2022-02-13  1:20   ` James Hilliard
  0 siblings, 1 reply; 3+ messages in thread
From: Arnout Vandecappelle @ 2022-02-12 13:25 UTC (permalink / raw)
  To: James Hilliard, buildroot; +Cc: Yann E . MORIN, Thomas Petazzoni



On 31/01/2022 19:51, James Hilliard wrote:
> Move the target bpftool build out of linux-tools so that it is
> up to date.
> 
> This also fixes build issues due to differences between kernel
> versions. The latest version should be fully backwards compatible.

  I don't understand this: linux-tools is part of the kernel build itself, so 
there shouldn't be any differences between kernel versions... Anyway, you 
probably experienced it so I kept the comment.

> 
> The host bpftool is needed for enabling features such as the systemd
> bpf-framework(to be added in a future patch).

  Normally we only accept host packages if there's a (target) package that 
actually depends on it. Knowing you however we're not going to have to wait long 
for this systemd bpf framework, so I kept the host package.


> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> Changes v3 -> v4:
>    - remove linux-tools bpftool kconfig entry

  Ideally this should have been done in a separate patch, but OK.

> Changes v2 -> v3:
>    - fix target install
> Changes v1 -> v2:
>    - move target bpftool out of linux-tools into stand-alone build
> ---
>   Config.in.legacy                             |  8 ++++
>   DEVELOPERS                                   |  1 +
>   package/Config.in                            |  1 +
>   package/bpftool/Config.in                    | 18 ++++++++
>   package/bpftool/bpftool.hash                 |  5 +++
>   package/bpftool/bpftool.mk                   | 45 ++++++++++++++++++++
>   package/linux-tools/Config.in                | 22 ----------
>   package/linux-tools/linux-tool-bpftool.mk.in | 37 ----------------
>   8 files changed, 78 insertions(+), 59 deletions(-)
>   create mode 100644 package/bpftool/Config.in
>   create mode 100644 package/bpftool/bpftool.hash
>   create mode 100644 package/bpftool/bpftool.mk
>   delete mode 100644 package/linux-tools/linux-tool-bpftool.mk.in
> 

[snip]
> diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk
> new file mode 100644
> index 0000000000..4276f91958
> --- /dev/null
> +++ b/package/bpftool/bpftool.mk
> @@ -0,0 +1,45 @@
> +################################################################################
> +#
> +# bpftool
> +#
> +################################################################################
> +
> +BPFTOOL_VERSION = a7f0e7f057283ae8af3de4578bcb8b7ee80b7144
> +BPFTOOL_SITE = https://github.com/libbpf/bpftool
> +BPFTOOL_SITE_METHOD = git
> +BPFTOOL_GIT_SUBMODULES = YES

  This is purely for the libbpf submodule. We normally prefer to unbundle such 
dependencies, since we have libbpf as a package. I've kept it for now, but if 
you could unbundle it, that would be great.

  I've added a line to the commit message to explain why the git download method 
is used.


  Applied to master, thanks.

  Regards,
  Arnout


> +BPFTOOL_LICENSE = GPL-2.0, BSD-2-Clause
> +BPFTOOL_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.GPL-2.0
> +BPFTOOL_DEPENDENCIES = binutils elfutils
> +HOST_BPFTOOL_DEPENDENCIES = host-elfutils host-pkgconf host-zlib
> +
> +ifeq ($(BR2_PACKAGE_LIBCAP),y)
> +BPFTOOL_DEPENDENCIES += libcap
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ZLIB),y)
> +BPFTOOL_DEPENDENCIES += zlib
> +endif
> +
> +define BPFTOOL_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
> +		-C $(@D)/src
> +endef
> +
> +define HOST_BPFTOOL_BUILD_CMDS
> +	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
> +		-C $(@D)/src
> +endef
> +
> +define BPFTOOL_INSTALL_TARGET_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
> +		-C $(@D)/src install DESTDIR="$(TARGET_DIR)" prefix=/usr
> +endef
> +
> +define HOST_BPFTOOL_INSTALL_CMDS
> +	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
> +		-C $(@D)/src install DESTDIR="$(HOST_DIR)" prefix=/usr
> +endef
> +
> +$(eval $(generic-package))
> +$(eval $(host-generic-package))
> diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> index 28641dccdd..f459b41762 100644
> --- a/package/linux-tools/Config.in
> +++ b/package/linux-tools/Config.in
> @@ -5,28 +5,6 @@ menu "Linux Kernel Tools"
>   config BR2_PACKAGE_LINUX_TOOLS
>   	bool
>   
> -config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL
> -	bool "bpftool"
> -	depends on !BR2_nios2 # binutils
> -	depends on BR2_USE_WCHAR # binutils, elfutils
> -	depends on !BR2_STATIC_LIBS # elfutils
> -	depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils
> -	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
> -	select BR2_PACKAGE_LINUX_TOOLS
> -	select BR2_PACKAGE_BINUTILS
> -	select BR2_PACKAGE_ELFUTILS
> -	help
> -	  bpftool is a tool for for inspection and simple manipulation
> -	  of eBPF programs and maps.
> -
> -	  These tools are available only from kernel version 4.15.
> -
> -comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads"
> -	depends on !BR2_nios2
> -	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \
> -		|| !BR2_TOOLCHAIN_HAS_THREADS \
> -		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
> -
>   config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
>   	bool "cpupower"
>   	select BR2_PACKAGE_LINUX_TOOLS
> diff --git a/package/linux-tools/linux-tool-bpftool.mk.in b/package/linux-tools/linux-tool-bpftool.mk.in
> deleted file mode 100644
> index 0c4d3693a3..0000000000
> --- a/package/linux-tools/linux-tool-bpftool.mk.in
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -################################################################################
> -#
> -# bpftool
> -#
> -################################################################################
> -
> -LINUX_TOOLS += bpftool
> -
> -BPFTOOL_DEPENDENCIES = binutils elfutils
> -
> -ifeq ($(BR2_PACKAGE_LIBCAP),y)
> -BPFTOOL_DEPENDENCIES += libcap
> -endif
> -
> -ifeq ($(BR2_PACKAGE_ZLIB),y)
> -BPFTOOL_DEPENDENCIES += zlib
> -endif
> -
> -BPFTOOL_MAKE_OPTS = $(LINUX_MAKE_FLAGS)
> -
> -define BPFTOOL_BUILD_CMDS
> -	$(Q)if ! grep install $(LINUX_DIR)/tools/bpf/bpftool/Makefile >/dev/null 2>&1 ; then \
> -		echo "Your kernel version is too old and does not have install section in the bpf tools." ; \
> -		echo "At least kernel 4.15 must be used." ; \
> -		exit 1 ; \
> -	fi
> -
> -	$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
> -		$(BPFTOOL_MAKE_OPTS)
> -endef
> -
> -define BPFTOOL_INSTALL_TARGET_CMDS
> -	$(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
> -		$(BPFTOOL_MAKE_OPTS) \
> -		DESTDIR=$(TARGET_DIR) \
> -		install
> -endef
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v4 1/1] package/bpftool: new package
  2022-02-12 13:25 ` Arnout Vandecappelle
@ 2022-02-13  1:20   ` James Hilliard
  0 siblings, 0 replies; 3+ messages in thread
From: James Hilliard @ 2022-02-13  1:20 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: Yann E . MORIN, Thomas Petazzoni, buildroot

On Sat, Feb 12, 2022 at 6:25 AM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 31/01/2022 19:51, James Hilliard wrote:
> > Move the target bpftool build out of linux-tools so that it is
> > up to date.
> >
> > This also fixes build issues due to differences between kernel
> > versions. The latest version should be fully backwards compatible.
>
>   I don't understand this: linux-tools is part of the kernel build itself, so
> there shouldn't be any differences between kernel versions... Anyway, you
> probably experienced it so I kept the comment.

I mean that older kernels provide outdated versions of bpftool which may
cause issues especially for host-bpftool as stuff like systemd bpf-framework
has minimum version requirements there for build side.

>
> >
> > The host bpftool is needed for enabling features such as the systemd
> > bpf-framework(to be added in a future patch).
>
>   Normally we only accept host packages if there's a (target) package that
> actually depends on it. Knowing you however we're not going to have to wait long
> for this systemd bpf framework, so I kept the host package.

Yeah, I think I'll have that working once we bump clang/llvm, min
version is 10.0.0 and
we're still on 9.0.1:
https://patchwork.ozlabs.org/project/buildroot/list/?series=233431&submitter=&state=*&q=&archive=both&delegate=

>
>
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> > Changes v3 -> v4:
> >    - remove linux-tools bpftool kconfig entry
>
>   Ideally this should have been done in a separate patch, but OK.
>
> > Changes v2 -> v3:
> >    - fix target install
> > Changes v1 -> v2:
> >    - move target bpftool out of linux-tools into stand-alone build
> > ---
> >   Config.in.legacy                             |  8 ++++
> >   DEVELOPERS                                   |  1 +
> >   package/Config.in                            |  1 +
> >   package/bpftool/Config.in                    | 18 ++++++++
> >   package/bpftool/bpftool.hash                 |  5 +++
> >   package/bpftool/bpftool.mk                   | 45 ++++++++++++++++++++
> >   package/linux-tools/Config.in                | 22 ----------
> >   package/linux-tools/linux-tool-bpftool.mk.in | 37 ----------------
> >   8 files changed, 78 insertions(+), 59 deletions(-)
> >   create mode 100644 package/bpftool/Config.in
> >   create mode 100644 package/bpftool/bpftool.hash
> >   create mode 100644 package/bpftool/bpftool.mk
> >   delete mode 100644 package/linux-tools/linux-tool-bpftool.mk.in
> >
>
> [snip]
> > diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk
> > new file mode 100644
> > index 0000000000..4276f91958
> > --- /dev/null
> > +++ b/package/bpftool/bpftool.mk
> > @@ -0,0 +1,45 @@
> > +################################################################################
> > +#
> > +# bpftool
> > +#
> > +################################################################################
> > +
> > +BPFTOOL_VERSION = a7f0e7f057283ae8af3de4578bcb8b7ee80b7144
> > +BPFTOOL_SITE = https://github.com/libbpf/bpftool
> > +BPFTOOL_SITE_METHOD = git
> > +BPFTOOL_GIT_SUBMODULES = YES
>
>   This is purely for the libbpf submodule. We normally prefer to unbundle such
> dependencies, since we have libbpf as a package. I've kept it for now, but if
> you could unbundle it, that would be great.

Yeah, unbundled doesn't seem to really be a supported configuration here yet.

>
>   I've added a line to the commit message to explain why the git download method
> is used.
>
>
>   Applied to master, thanks.
>
>   Regards,
>   Arnout
>
>
> > +BPFTOOL_LICENSE = GPL-2.0, BSD-2-Clause
> > +BPFTOOL_LICENSE_FILES = LICENSE LICENSE.BSD-2-Clause LICENSE.GPL-2.0
> > +BPFTOOL_DEPENDENCIES = binutils elfutils
> > +HOST_BPFTOOL_DEPENDENCIES = host-elfutils host-pkgconf host-zlib
> > +
> > +ifeq ($(BR2_PACKAGE_LIBCAP),y)
> > +BPFTOOL_DEPENDENCIES += libcap
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_ZLIB),y)
> > +BPFTOOL_DEPENDENCIES += zlib
> > +endif
> > +
> > +define BPFTOOL_BUILD_CMDS
> > +     $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
> > +             -C $(@D)/src
> > +endef
> > +
> > +define HOST_BPFTOOL_BUILD_CMDS
> > +     $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
> > +             -C $(@D)/src
> > +endef
> > +
> > +define BPFTOOL_INSTALL_TARGET_CMDS
> > +     $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \
> > +             -C $(@D)/src install DESTDIR="$(TARGET_DIR)" prefix=/usr
> > +endef
> > +
> > +define HOST_BPFTOOL_INSTALL_CMDS
> > +     $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
> > +             -C $(@D)/src install DESTDIR="$(HOST_DIR)" prefix=/usr
> > +endef
> > +
> > +$(eval $(generic-package))
> > +$(eval $(host-generic-package))
> > diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> > index 28641dccdd..f459b41762 100644
> > --- a/package/linux-tools/Config.in
> > +++ b/package/linux-tools/Config.in
> > @@ -5,28 +5,6 @@ menu "Linux Kernel Tools"
> >   config BR2_PACKAGE_LINUX_TOOLS
> >       bool
> >
> > -config BR2_PACKAGE_LINUX_TOOLS_BPFTOOL
> > -     bool "bpftool"
> > -     depends on !BR2_nios2 # binutils
> > -     depends on BR2_USE_WCHAR # binutils, elfutils
> > -     depends on !BR2_STATIC_LIBS # elfutils
> > -     depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils
> > -     depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
> > -     select BR2_PACKAGE_LINUX_TOOLS
> > -     select BR2_PACKAGE_BINUTILS
> > -     select BR2_PACKAGE_ELFUTILS
> > -     help
> > -       bpftool is a tool for for inspection and simple manipulation
> > -       of eBPF programs and maps.
> > -
> > -       These tools are available only from kernel version 4.15.
> > -
> > -comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads"
> > -     depends on !BR2_nios2
> > -     depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \
> > -             || !BR2_TOOLCHAIN_HAS_THREADS \
> > -             || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
> > -
> >   config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
> >       bool "cpupower"
> >       select BR2_PACKAGE_LINUX_TOOLS
> > diff --git a/package/linux-tools/linux-tool-bpftool.mk.in b/package/linux-tools/linux-tool-bpftool.mk.in
> > deleted file mode 100644
> > index 0c4d3693a3..0000000000
> > --- a/package/linux-tools/linux-tool-bpftool.mk.in
> > +++ /dev/null
> > @@ -1,37 +0,0 @@
> > -################################################################################
> > -#
> > -# bpftool
> > -#
> > -################################################################################
> > -
> > -LINUX_TOOLS += bpftool
> > -
> > -BPFTOOL_DEPENDENCIES = binutils elfutils
> > -
> > -ifeq ($(BR2_PACKAGE_LIBCAP),y)
> > -BPFTOOL_DEPENDENCIES += libcap
> > -endif
> > -
> > -ifeq ($(BR2_PACKAGE_ZLIB),y)
> > -BPFTOOL_DEPENDENCIES += zlib
> > -endif
> > -
> > -BPFTOOL_MAKE_OPTS = $(LINUX_MAKE_FLAGS)
> > -
> > -define BPFTOOL_BUILD_CMDS
> > -     $(Q)if ! grep install $(LINUX_DIR)/tools/bpf/bpftool/Makefile >/dev/null 2>&1 ; then \
> > -             echo "Your kernel version is too old and does not have install section in the bpf tools." ; \
> > -             echo "At least kernel 4.15 must be used." ; \
> > -             exit 1 ; \
> > -     fi
> > -
> > -     $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
> > -             $(BPFTOOL_MAKE_OPTS)
> > -endef
> > -
> > -define BPFTOOL_INSTALL_TARGET_CMDS
> > -     $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/bpf/bpftool \
> > -             $(BPFTOOL_MAKE_OPTS) \
> > -             DESTDIR=$(TARGET_DIR) \
> > -             install
> > -endef
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2022-02-13  1:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-31 18:51 [Buildroot] [PATCH v4 1/1] package/bpftool: new package James Hilliard
2022-02-12 13:25 ` Arnout Vandecappelle
2022-02-13  1:20   ` James Hilliard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.