[PATCH v2 B/C/D] UBUNTU: [Packaging] Support building libperf-jvmti.so

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Tue May 21 13:52:03 UTC 2019


BugLink: https://bugs.launchpad.net/bugs/1761379

Adds default-jdk-headless and java-common as Build-Depends, which will
allow libperf-jvmti.so to be built.

The library will be installed on the linux-tools package the same way other
tools are installed. That allows a user to use the current kernel version
as given by `uname -r` to find the library at
/usr/lib/linux-tools/`uname -r`/libperf-jvmti.so, which will be a symlink
to a version-specific library.

This requires arches and derivatives to opt in with do_tools_perf_jvmti.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at canonical.com>
---
 debian.master/control.stub.in    | 2 ++
 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                     | 1 +
 debian/rules.d/2-binary-arch.mk  | 6 ++++++
 9 files changed, 15 insertions(+)

diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
index 7076ac27e322..04d677f8b717 100644
--- a/debian.master/control.stub.in
+++ b/debian.master/control.stub.in
@@ -13,6 +13,8 @@ Build-Depends:
  libelf-dev <!stage1>,
  libnewt-dev <!stage1>,
  libiberty-dev <!stage1>,
+ default-jdk-headless <!stage1>,
+ java-common <!stage1>,
  rsync <!stage1>,
  libdw-dev <!stage1>,
  libpci-dev <!stage1>,
diff --git a/debian.master/rules.d/amd64.mk b/debian.master/rules.d/amd64.mk
index de903f08d30d..4046adf3ebb3 100644
--- a/debian.master/rules.d/amd64.mk
+++ b/debian.master/rules.d/amd64.mk
@@ -13,6 +13,7 @@ uefi_signed     = true
 do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
+do_tools_perf_jvmti = 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 14e91da6d2f0..05e22310d30e 100644
--- a/debian.master/rules.d/arm64.mk
+++ b/debian.master/rules.d/arm64.mk
@@ -16,6 +16,7 @@ do_extras_package = true
 do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
+do_tools_perf_jvmti = true
 
 do_dtbs		= true
 do_zfs		= true
diff --git a/debian.master/rules.d/armhf.mk b/debian.master/rules.d/armhf.mk
index 6cabbf281e55..d516ae13454c 100644
--- a/debian.master/rules.d/armhf.mk
+++ b/debian.master/rules.d/armhf.mk
@@ -13,5 +13,6 @@ loader		= grub
 do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf	= true
+do_tools_perf_jvmti = true
 
 do_dtbs		= true
diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
index 1b8bdf521e78..4c8cf17f5b61 100644
--- a/debian.master/rules.d/i386.mk
+++ b/debian.master/rules.d/i386.mk
@@ -12,6 +12,7 @@ no_dumpfile	= true
 do_tools_usbip  = true
 do_tools_cpupower = true
 do_tools_perf   = true
+do_tools_perf_jvmti = 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 7faecd720dc7..c540bacaa166 100644
--- a/debian.master/rules.d/ppc64el.mk
+++ b/debian.master/rules.d/ppc64el.mk
@@ -14,6 +14,7 @@ opal_signed       = true
 do_tools_usbip    = true
 do_tools_cpupower = true
 do_tools_perf	  = true
+do_tools_perf_jvmti = 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 5b468acdfe44..dad66b1a674f 100644
--- a/debian.master/rules.d/s390x.mk
+++ b/debian.master/rules.d/s390x.mk
@@ -15,5 +15,6 @@ do_extras_package = true
 do_tools_usbip    = true
 do_tools_cpupower = true
 do_tools_perf     = true
+do_tools_perf_jvmti = true
 
 do_zfs		= true
diff --git a/debian/rules b/debian/rules
index d96cae4bee73..ace5e48c5d58 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,6 +37,7 @@ do_linux_tools=$(sort $(filter-out false,$(do_tools_usbip) $(do_tools_cpupower)
 do_cloud_tools=$(sort $(filter-out false,$(do_tools_hyperv)))
 do_tools_common?=true
 do_tools_host?=false
+do_tools_perf_jvmti?=false
 
 # Don't build tools or udebs in a cross compile environment.
 ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index b04c855f3cd8..e0c1c24cf013 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -375,6 +375,9 @@ ifeq ($(do_tools_cpupower),true)
 endif
 ifeq ($(do_tools_perf),true)
 	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/perf $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
+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_x86),true)
 	$(LN) ../../$(src_pkg_name)-tools-$(abi_release)/x86_energy_perf_policy $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$*
@@ -691,6 +694,9 @@ ifeq ($(do_tools_cpupower),true)
 endif
 ifeq ($(do_tools_perf),true)
 	install -m755 $(builddirpa)/tools/perf/perf $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release)
+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_x86),true)
 	install -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \
-- 
2.20.1




More information about the kernel-team mailing list