Re: libbpf packaging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx> 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



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux