On Tue, Aug 13, 2019 at 5:26 AM Jiri Olsa <jo...@redhat.com> wrote: > > On Mon, Aug 12, 2019 at 07:04:12PM +0000, Julia Kartseva wrote: > > I would like to bring up libbpf publishing discussion started at [1]. > > The present state of things is that libbpf is built from kernel tree, e.g. > > [2] > > For Debian and [3] for Fedora whereas the better way would be having a > > package built from github mirror. The advantages of the latter: > > - Consistent, ABI matching versioning across distros > > - The mirror has integration tests > > - No need in kernel tree to build a package > > - Changes can be merged directly to github w/o waiting them to be merged > > through bpf-next -> net-next -> main > > There is a PR introducing a libbpf.spec which can be used as a starting > > point: [4] > > Any comments regarding the spec itself can be posted there. > > In the future it may be used as a source of truth. > > Please consider switching libbpf packaging to the github mirror instead > > of the kernel tree. > > Thanks > > > > [1] https://lists.iovisor.org/g/iovisor-dev/message/1521 > > [2] https://packages.debian.org/sid/libbpf4.19 > > [3] > > http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/l/libbpf-5.3.0-0.rc2.git0.1.fc31.x86_64.html > > [4] https://github.com/libbpf/libbpf/pull/64 > > hi, > Fedora has libbpf as kernel-tools subpackage, so I think > we'd need to create new package and deprecate the current > > but I like the ABI stability by using github .. how's actually > the sync (in both directions) with kernel sources going on?
Sync is always in one direction, from kernel sources into Github repo. Right now it's triggered by a human (usually me), but we are using a script that automates entire process (see https://github.com/libbpf/libbpf/blob/master/scripts/sync-kernel.sh). It cherry-pick relevant commits from kernel, transforms them to match Github's file layout and re-applies those changes to Github repo. There is never a sync from Github back to kernel, but Github repo contains some extra stuff that's not in kernel. E.g., the script I mentioned, plus Github's Makefile is different, because it can't rely on kernel's kbuild setup. > > thanks, > jirka