bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>,
	Andrey Ignatov <rdna@fb.com>,
	Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
	Song Liu <songliubraving@fb.com>, bpf <bpf@vger.kernel.org>,
	Brenden Blanco <bblanco@gmail.com>, Yonghong Song <yhs@fb.com>
Subject: Re: libbpf packaging
Date: Mon, 25 Mar 2019 18:19:02 +0100	[thread overview]
Message-ID: <20190325171902.GA13250@krava> (raw)
In-Reply-To: <CAADnVQKvRz-EMPqB5oMiG=6N1-QwAhMGnpnQsgSyQuUcrA781A@mail.gmail.com>

On Mon, Mar 25, 2019 at 09:03:11AM -0700, Alexei Starovoitov wrote:
> On Mon, Mar 25, 2019 at 5:53 AM Daniel Borkmann <daniel@iogearbox.net> wrote:
> >
> > On 03/25/2019 01:21 PM, Jiri Olsa wrote:
> > > hi guys,
> > > we want to package libbpf and I'd like to coordinate
> > > with you on some issues I've met on this:
> > >
> > > 1) I think libbpf should be part of kernel-tools-libs and kernel-tools-libs-devel,
> > >    which would look like below (from early rpm build):
> > >
> > >    $ rpm -qpl kernel-tools-libs-5.0.0-1.fc31.x86_64.rpm
> > >    /usr/lib/.build-id
> > >    /usr/lib/.build-id/ca
> > >    /usr/lib/.build-id/ca/654da1e5ea553f985e28b8d98ad24e51f19e88
> > >    /usr/lib/.build-id/f6
> > >    /usr/lib/.build-id/f6/a788b316f26fbe70db47bfc0ef500348117023
> > >    /usr/lib64/libbpf.so.0
> > >    /usr/lib64/libbpf.so.0.0.1
> > >    /usr/lib64/libcpupower.so.0
> > >    /usr/lib64/libcpupower.so.0.0.1
> > >    /usr/share/licenses/kernel-tools-libs
> > >    /usr/share/licenses/kernel-tools-libs/COPYING
> > >
> > >    $ rpm -qpl kernel-tools-libs-devel-5.0.0-1.fc31.x86_64.rpm
> > >    /usr/include/bpf/bpf.h
> > >    /usr/include/bpf/btf.h
> > >    /usr/include/bpf/libbpf.h
> > >    /usr/include/cpufreq.h
> > >    /usr/include/cpuidle.h
> > >    /usr/lib64/libbpf.a
> > >    /usr/lib64/libbpf.so
> > >    /usr/lib64/libcpupower.so
> > >
> > >    Do you see libbpf as a standalone package or kernel-tools-libs* wuold be ok for you?
> >
> > My preference is definitely on making libbpf a stand-alone package, so
> > people can just install 'libbpf' or 'libbpf-dev{,el}' and are good to
> > go. Also given the pace it's growing these days, it absolutely qualifies
> > as a stand-alone package.
> 
> +1
> libbpf should be standalone package and not part of kernel-tools.

ok

> 
> > > 2) There's already bcc-devel's libbpf library packaged:
> > >
> > >    $ rpm -qf /usr/lib64/libbpf.so
> > >    bcc-devel-0.8.0-1.fc28.x86_64
> > >
> > >    so there's a conflict.. any chance we could rename libbpf to
> > >    something else like:
> > >
> > >    libbpf2.so
> > >    libbpfobject.so
> > >    libbpfbest.so
> > >    ...?
> >
> > I don't think we should rename the official libbpf package, this will
> > just create plain confusion and will make it much harder for potential
> > users to adapt in the long-term since we aim for /everyone/ to consume
> > official libbpf library instead of hacking their own.
> >
> > I think bcc folks are migrating to official libbpf as well, at least
> > that was my impression. Imho, this would need fixing on bcc side then.
> 
> bcc migrated to libbpf some time ago.

yea, but looks like it still exports its own libbpf.so with some helpers:

[jolsa@krava ~]$ nm -D /usr/lib64/libbpf.so.0
...
0000000000005500 T bpf_attach_kprobe
0000000000005340 T bpf_attach_perf_event
00000000000052a0 T bpf_attach_perf_event_raw
0000000000004b50 T bpf_attach_raw_tracepoint
0000000000004af0 T bpf_attach_socket
0000000000005d10 T bpf_attach_tracepoint
0000000000005810 T bpf_attach_uprobe
0000000000004ea0 T bpf_attach_xdp
0000000000005480 T bpf_close_perf_event_fd
0000000000003990 T bpf_create_map
0000000000003cb0 T bpf_delete_elem
0000000000004b20 T bpf_detach_kprobe
0000000000004b40 T bpf_detach_tracepoint
0000000000004b30 T bpf_detach_uprobe
0000000000003d30 T bpf_get_first_key
0000000000003e70 T bpf_get_next_key
0000000000003c30 T bpf_lookup_elem
0000000000005fb0 T bpf_map_get_fd_by_id
0000000000005e40 T bpf_obj_get
0000000000003ef0 T bpf_obj_get_info
0000000000005dc0 T bpf_obj_pin
0000000000004c10 T bpf_open_perf_buffer
0000000000004d80 T bpf_open_perf_event
0000000000004980 T bpf_open_raw_sock
0000000000003f70 T bpf_prog_compute_tag
0000000000005f30 T bpf_prog_get_fd_by_id
0000000000005eb0 T bpf_prog_get_next_id
00000000000042f0 T bpf_prog_get_tag
0000000000004430 T bpf_prog_load
0000000000003ba0 T bpf_update_elem
00000000000061b0 T perf_reader_event_read
0000000000006520 T perf_reader_fd
0000000000006090 T perf_reader_free
0000000000006120 T perf_reader_mmap
0000000000006030 T perf_reader_new
00000000000063f0 T perf_reader_poll
0000000000006510 T perf_reader_set_fd
...

jirka

  reply	other threads:[~2019-03-25 17:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-25 12:21 libbpf packaging Jiri Olsa
2019-03-25 12:52 ` Daniel Borkmann
2019-03-25 16:03   ` Alexei Starovoitov
2019-03-25 17:19     ` Jiri Olsa [this message]
2019-03-25 17:21     ` Michal Rostecki
2019-03-25 19:34       ` Yonghong Song
2019-03-25 20:20         ` Jiri Olsa
2019-03-27  5:30           ` Yonghong Song
2019-03-27  7:20             ` Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190325171902.GA13250@krava \
    --to=jolsa@redhat.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=arnaldo.melo@gmail.com \
    --cc=bblanco@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=rdna@fb.com \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).