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 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.