[bionic][PATCH 0/2] add bpftool to linux-tools-common

Quentin Monnet quentin.monnet at netronome.com
Sun Jul 21 16:36:41 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 use 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

(The i386 build actually fails, but it does not seem related to the
changes. The amd64 build succeeded.)

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.

---
This is my first contribution to ubuntu_kernel, please let me know if I got
anything wrong with the process.

I would like bpftool to be packaged for bionic and later (supported) releases,
if possible. Could someone provide me some guidance on the process, please?
Should I also submit the packaging patch for disco/eowan? (As the patch
backported in this series is in Linux 4.16, later Ubuntu versions should not
need this backport.)

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