[EOAN,UNSTABLE,v2,1/1] UBUNTU: [Debian] package bpftool in linux-tools-common
diff mbox series

Message ID 20190830174353.3659-2-quentin.monnet@netronome.com
State New
Headers show
Series
  • [EOAN,UNSTABLE,v2,1/1] UBUNTU: [Debian] package bpftool in linux-tools-common
Related show

Commit Message

Quentin Monnet Aug. 30, 2019, 5:43 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1774815

bpftool is a debugging and introspection tool for BPF elements,
developed by the BPF kernel community. Its source code is located in the
kernel repository, at tools/bpf/bpftool. Package it in linux-tools and
linux-tools-common.

Along the binary, package manual pages and bash completion file. Note
that the generated manual page bpf-helpers.7 is NOT packaged, as this
one is now included in the man-pages repository.

bpftool itself is installed under /usr/sbin/, to be consistent with its
Makefile.

Dependency python-docutils is added to Build-Depends-Indep, in order to
provide rst2man which is necessary to build bpftool's manual pages.

Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
---
v2:
- Switch from python-docutils to python3-docutils for the dependency
  providing rst2man for manual pages.
- Set CROSS_COMPILE when building bpftool.
---
 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 +++++++++++-
 11 files changed, 29 insertions(+), 2 deletions(-)

Patch
diff mbox series

diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
index 04d677f8b717..8d43943f61c7 100644
--- a/debian.master/control.stub.in
+++ b/debian.master/control.stub.in
@@ -48,6 +48,7 @@  Build-Depends-Indep:
  asciidoc <!stage1>,
  python-sphinx <!stage1>,
  python-sphinx-rtd-theme <!stage1>,
+ python3-docutils <!stage1>,
 Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
 XS-Testsuite: autopkgtest
 #XS-Testsuite-Depends: gcc-4.7 binutils
diff --git a/debian.master/rules.d/amd64.mk b/debian.master/rules.d/amd64.mk
index d17467e63683..9ffa35ccb8df 100644
--- a/debian.master/rules.d/amd64.mk
+++ b/debian.master/rules.d/amd64.mk
@@ -14,6 +14,7 @@  do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
 do_tools_perf_jvmti = true
+do_tools_bpftool = true
 do_tools_x86	= true
 do_tools_hyperv	= true
 do_tools_host = true
diff --git a/debian.master/rules.d/arm64.mk b/debian.master/rules.d/arm64.mk
index 05e22310d30e..32f27c724c9a 100644
--- a/debian.master/rules.d/arm64.mk
+++ b/debian.master/rules.d/arm64.mk
@@ -17,6 +17,7 @@  do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
 do_tools_perf_jvmti = true
+do_tools_bpftool = true
 
 do_dtbs		= true
 do_zfs		= true
diff --git a/debian.master/rules.d/armhf.mk b/debian.master/rules.d/armhf.mk
index d516ae13454c..085e8acdc8aa 100644
--- a/debian.master/rules.d/armhf.mk
+++ b/debian.master/rules.d/armhf.mk
@@ -14,5 +14,6 @@  do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf	= true
 do_tools_perf_jvmti = true
+do_tools_bpftool = true
 
 do_dtbs		= true
diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
index ca34b9759d1e..06ac6ea33563 100644
--- a/debian.master/rules.d/i386.mk
+++ b/debian.master/rules.d/i386.mk
@@ -13,6 +13,7 @@  do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
 do_tools_perf_jvmti = true
+do_tools_bpftool = true
 do_tools_x86	= true
 do_tools_hyperv = true
 do_extras_package = true
diff --git a/debian.master/rules.d/ppc64el.mk b/debian.master/rules.d/ppc64el.mk
index c540bacaa166..3934ef482a57 100644
--- a/debian.master/rules.d/ppc64el.mk
+++ b/debian.master/rules.d/ppc64el.mk
@@ -15,6 +15,7 @@  do_tools_usbip    = true
 do_tools_cpupower = true
 do_tools_perf	  = true
 do_tools_perf_jvmti = true
+do_tools_bpftool  = true
 
 #do_flavour_image_package = false
 do_zfs		= true
diff --git a/debian.master/rules.d/s390x.mk b/debian.master/rules.d/s390x.mk
index dad66b1a674f..cbc188507892 100644
--- a/debian.master/rules.d/s390x.mk
+++ b/debian.master/rules.d/s390x.mk
@@ -16,5 +16,6 @@  do_tools_usbip    = true
 do_tools_cpupower = true
 do_tools_perf     = true
 do_tools_perf_jvmti = true
+do_tools_bpftool  = true
 
 do_zfs		= true
diff --git a/debian/rules b/debian/rules
index 0953195f5ab1..2edbd7485b8f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -33,7 +33,7 @@  include $(DROOT)/rules.d/0-common-vars.mk
 # Maintainer targets
 include $(DROOT)/rules.d/1-maintainer.mk
 
-do_linux_tools=$(sort $(filter-out false,$(do_tools_usbip) $(do_tools_cpupower) $(do_tools_perf) $(do_tools_x86)))
+do_linux_tools=$(sort $(filter-out false,$(do_tools_usbip) $(do_tools_cpupower) $(do_tools_perf) $(do_tools_bpftool) $(do_tools_x86)))
 do_cloud_tools=$(sort $(filter-out false,$(do_tools_hyperv)))
 do_tools_common?=true
 do_tools_host?=false
diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
index e71bf3c281ef..bce24fc1d82f 100644
--- a/debian/rules.d/1-maintainer.mk
+++ b/debian/rules.d/1-maintainer.mk
@@ -85,6 +85,7 @@  printenv:
 	@echo "do_linux_tools            = $(do_linux_tools)"
 	@echo " do_tools_cpupower         = $(do_tools_cpupower)"
 	@echo " do_tools_perf             = $(do_tools_perf)"
+	@echo " do_tools_bpftool          = $(do_tools_bpftool)"
 	@echo " do_tools_x86              = $(do_tools_x86)"
 	@echo " do_tools_host             = $(do_tools_host)"
 	@echo "do_cloud_tools            = $(do_cloud_tools)"
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index f3ab06748cf6..c8d7480550cc 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -379,6 +379,9 @@  ifeq ($(do_tools_perf_jvmti),true)
 	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/libperf-jvmti.so $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
 endif
 endif
+ifeq ($(do_tools_bpftool),true)
+	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/bpftool $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
+endif
 ifeq ($(do_tools_x86),true)
 	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/x86_energy_perf_policy $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
 	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/turbostat $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
@@ -659,6 +662,9 @@  ifeq ($(do_tools_perf),true)
 	cd $(builddirpa)/tools/perf && \
 		$(kmake) prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 CROSS_COMPILE=$(CROSS_COMPILE) NO_LIBPYTHON=1 NO_LIBPERL=1 PYTHON=python2.7
 endif
+ifeq ($(do_tools_bpftool),true)
+	$(kmake) CROSS_COMPILE=$(CROSS_COMPILE) -C $(builddirpa)/tools/bpf/bpftool
+endif
 ifeq ($(do_tools_x86),true)
 	cd $(builddirpa)/tools/power/x86/x86_energy_perf_policy && make CROSS_COMPILE=$(CROSS_COMPILE)
 	cd $(builddirpa)/tools/power/x86/turbostat && make CROSS_COMPILE=$(CROSS_COMPILE)
@@ -703,6 +709,9 @@  ifeq ($(do_tools_perf_jvmti),true)
 	install -m755 $(builddirpa)/tools/perf/libperf-jvmti.so $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release)
 endif
 endif
+ifeq ($(do_tools_bpftool),true)
+	install -m755 $(builddirpa)/tools/bpf/bpftool/bpftool $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release)
+endif
 ifeq ($(do_tools_x86),true)
 	install -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \
 		$(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release)
diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
index 6c847da42bd4..870a6b8ddfa2 100644
--- a/debian/rules.d/3-binary-indep.mk
+++ b/debian/rules.d/3-binary-indep.mk
@@ -84,6 +84,7 @@  install-tools: toolspkg = $(tools_common_pkg_name)
 install-tools: toolsbin = $(CURDIR)/debian/$(toolspkg)/usr/bin
 install-tools: toolssbin = $(CURDIR)/debian/$(toolspkg)/usr/sbin
 install-tools: toolsman = $(CURDIR)/debian/$(toolspkg)/usr/share/man
+install-tools: toolsbashcomp = $(CURDIR)/debian/$(toolspkg)/usr/share/bash-completion/completions
 install-tools: hosttoolspkg = $(hosttools_pkg_name)
 install-tools: hosttoolsbin = $(CURDIR)/debian/$(hosttoolspkg)/usr/bin
 install-tools: hosttoolsman = $(CURDIR)/debian/$(hosttoolspkg)/usr/share/man
@@ -102,7 +103,10 @@  ifeq ($(do_tools_common),true)
 	rsync -a tools/ $(builddir)/tools/tools/
 
 	install -d $(toolsbin)
+	install -d $(toolssbin)
 	install -d $(toolsman)/man1
+	install -d $(toolsman)/man8
+	install -d $(toolsbashcomp)
 
 	install -m755 debian/tools/generic $(toolsbin)/usbip
 	install -m755 debian/tools/generic $(toolsbin)/usbipd
@@ -113,6 +117,13 @@  ifeq ($(do_tools_common),true)
 
 	install -m755 debian/tools/generic $(toolsbin)/perf
 
+	install -m755 debian/tools/generic $(toolssbin)/bpftool
+	make -C $(builddir)/tools/tools/bpf/bpftool doc
+	install -m644 $(builddir)/tools/tools/bpf/bpftool/Documentation/*.8 \
+		$(toolsman)/man8
+	install -m644 $(builddir)/tools/tools/bpf/bpftool/bash-completion/bpftool \
+		$(toolsbashcomp)
+
 	install -m755 debian/tools/generic $(toolsbin)/x86_energy_perf_policy
 	install -m755 debian/tools/generic $(toolsbin)/turbostat
 
@@ -120,7 +131,6 @@  ifeq ($(do_tools_common),true)
 	install -m644 $(builddir)/tools/tools/perf/Documentation/*.1 \
 		$(toolsman)/man1
 
-	install -d $(toolsman)/man8
 	install -m644 $(CURDIR)/tools/power/x86/x86_energy_perf_policy/*.8 $(toolsman)/man8
 	install -m644 $(CURDIR)/tools/power/x86/turbostat/*.8 $(toolsman)/man8