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
next prev parent 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).