On Mon, Feb 8, 2021 at 1:18 PM Matteo Croce <mcr...@linux.microsoft.com> wrote:
>
> From: Matteo Croce <mcr...@microsoft.com>
>
> Add a recipe to build libbpf from https://github.com/libbpf/libbpf
> The only patch fixes a build issue, and it's already merged upstream.

Thanks for the submission! I have a few comments / questions.

To get this into oe-core, we should be commenting / documenting why it
should be in core, versus another layer. The standard criteria is that
there are enough varied users and that the functionality is common
enough, that it belongs in core.

There should also be some sort of oe-selftest for the functionality,
otherwise, it is hard to detect breakages. Some sort of application
that uses the library and that can be executed in qemu would be
enough.

What are the kernel requirements ? CONFIG_BPF is selected by other
kernel configs (it has no menu entry, so it must be), is it that, or
something else that is the requirement (classic BFP?). If that option
is now always on, is that true for the reference kernel versions in
master (5.4 and 5.10).

Finally, does this work across all the supported architectures ? if
not, we'll need compatibility settings.

>
> Signed-off-by: Matteo Croce <mcr...@microsoft.com>
> ---
>  ...01-install-don-t-preserve-file-owner.patch | 29 +++++++++++++++++++
>  meta/recipes-kernel/libbpf/libbpf_0.3.bb      | 25 ++++++++++++++++
>  2 files changed, 54 insertions(+)
>  create mode 100644 
> meta/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
>  create mode 100644 meta/recipes-kernel/libbpf/libbpf_0.3.bb
>
> diff --git 
> a/meta/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
>  
> b/meta/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
> new file mode 100644
> index 0000000000..4e65d8d80a
> --- /dev/null
> +++ 
> b/meta/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
> @@ -0,0 +1,29 @@
> +From 7df10d91db6f533cc0f6c09f4ae8ad92918c6160 Mon Sep 17 00:00:00 2001
> +From: Matteo Croce <mcr...@microsoft.com>
> +Date: Tue, 26 Jan 2021 12:41:47 +0100
> +Subject: [PATCH] install: don't preserve file owner
> +
> +'cp -p' preserve file ownership, this may leave files owned by the
> +current in user in /lib .
> +

We need the upstream status documented here, not just in the commit message.

> +Signed-off-by: Matteo Croce <mcr...@microsoft.com>
> +---
> + Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index da33613..ab66edc 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -130,7 +130,7 @@ define do_s_install
> +       $(Q)if [ ! -d '$(DESTDIR)$2' ]; then            \
> +               $(INSTALL) -d -m 755 '$(DESTDIR)$2';    \
> +       fi;
> +-      $(Q)cp -fpR $1 '$(DESTDIR)$2'
> ++      $(Q)cp -fR $1 '$(DESTDIR)$2'
> + endef
> +
> + install: all install_headers install_pkgconfig
> +--
> +2.29.2
> +
> diff --git a/meta/recipes-kernel/libbpf/libbpf_0.3.bb 
> b/meta/recipes-kernel/libbpf/libbpf_0.3.bb
> new file mode 100644
> index 0000000000..402e57257f
> --- /dev/null
> +++ b/meta/recipes-kernel/libbpf/libbpf_0.3.bb
> @@ -0,0 +1,25 @@
> +SUMMARY = "Library for BPF handling"
> +DESCRIPTION = "Library for BPF handling"
> +HOMEPAGE = "https://github.com/libbpf/libbpf";
> +SECTION = "libs"
> +LICENSE = "LGPLv2.1+"
> +
> +LIC_FILES_CHKSUM = 
> "file://../LICENSE.LPGL-2.1;md5=b370887980db5dd40659b50909238dbd"
> +
> +DEPENDS = "zlib elfutils"
> +
> +SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https"
> +SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469"
> +
> +# Backported from version 0.4
> +SRC_URI += "file://0001-install-don-t-preserve-file-owner.patch"
> +
> +S = "${WORKDIR}/git/src"
> +
> +inherit pkgconfig

I see inherit pkgconfig, but no PACKAGECONFIG setting. Is it actually
used here ?

> +
> +do_install() {
> +       make install DESTDIR=${D} LIBDIR=${libdir}

Rather than a bare 'make' call, this should likely be oe_runmake

Bruce

> +}
> +
> +BBCLASSEXTEND = "native"
> --
> 2.29.2
>
>
> 
>


--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#147839): 
https://lists.openembedded.org/g/openembedded-core/message/147839
Mute This Topic: https://lists.openembedded.org/mt/80484584/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to