[SRU][BIONIC][PATCH v2 0/2] add bpftool to linux-tools-common
Quentin Monnet
quentin.monnet at netronome.com
Mon Sep 9 11:39:21 UTC 2019
BugLink: https://bugs.launchpad.net/bugs/1774815
[Impact]
bpftool is a debugging and introspection tool for BPF elements,
developed by the BPF kernel community. It is essential to list and dump
BPF programs and maps loaded on the system. Its sources are located in
the kernel repository, and because it is not packaged, administrators
willing to use bpftool must download the whole kernel sources, compile
and install the utility.
[Fix]
Adding bpftool to linux-tools and linux-tools-common packages makes it
easily accessible. These packages are already used to provide other
tools located in the kernel repository, such as perf.
Because the bpftool version provided with kernel 4.15 does not build
properly (API changed at some point in bfd.h from binutils-dev),
backport a patch from 4.16 to fix the calls to libbfd's disassembler.
[Testcase]
A test linux package was successfully built, at:
https://launchpad.net/~qmonnet/+archive/ubuntu/ppa-linux-bpftool
(Built with:
do_zfs=false
do_dkms_nvidia=false
do_dkms_vbox=false
skipabi=true
skipmodule=true
skipretpoline=true)
Packages linux-tools-$(uname -r) and linux-tools-common can be built
with "debian/rules binary", and contain bpftool's binary and related
files (redirection script, bpftool manual pages, bash completion),
respectively.
[Regression Potential]
Low, as far as I can tell:
- The backported patch touches only bpftool and one feature in
tools/build/feature (only used with bpftool), all of it user space
tools not used for anything other than bpftool itself.
- bpftool packaging does not change the way other tools are packaged
(apart from creating $(toolsman)/man8 a few lines earlier), and should
have no impact on the packaging of other tools. One dependency is
added to Build-Depends-Indep, none is removed.
---
First version of this set was posted for bionic, but before the patch
for packaging bpftool had been submitted and accepted to the development
branch (currently eoan) [0]. That same patch is now upstream in
eoan/master-next as commit 8579afd20b0c.
[0] https://lists.ubuntu.com/archives/kernel-team/2019-July/102462.html
Changes in v2:
- Patch has been applied to eoan.
- Switch from python-docutils to python3-docutils for the dependency
providing rst2man for manual pages.
- Set CROSS_COMPILE when building bpftool.
Quentin Monnet (2):
tools/bpftool: fix bpftool build with bintutils >= 2.9
UBUNTU: [Debian] package bpftool in linux-tools-common
debian.master/control.stub.in | 1 +
debian.master/rules.d/amd64.mk | 1 +
debian.master/rules.d/arm64.mk | 1 +
debian.master/rules.d/armhf.mk | 1 +
debian.master/rules.d/i386.mk | 1 +
debian.master/rules.d/ppc64el.mk | 1 +
debian.master/rules.d/s390x.mk | 1 +
debian/rules | 2 +-
debian/rules.d/1-maintainer.mk | 1 +
debian/rules.d/2-binary-arch.mk | 9 ++++++
debian/rules.d/3-binary-indep.mk | 12 +++++++-
tools/bpf/Makefile | 29 +++++++++++++++++++
tools/bpf/bpf_jit_disasm.c | 7 +++++
tools/bpf/bpftool/Makefile | 24 +++++++++++++++
tools/bpf/bpftool/jit_disasm.c | 7 +++++
tools/build/feature/Makefile | 4 +++
.../feature/test-disassembler-four-args.c | 15 ++++++++++
17 files changed, 115 insertions(+), 2 deletions(-)
create mode 100644 tools/build/feature/test-disassembler-four-args.c
--
2.17.1
More information about the kernel-team
mailing list