Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package linux-tools

- Build a linux-tools-3.16 package for arm64
- Ensure that we don't accidentally link perf against libbfd, which
  has an incompatible licence.  This is only happening in
  wheezy-backports but could potentially happen for an unclean build
  in jessie/sid.

unblock linux-tools/3.16-3

The following debdiff excludes the generated files debian/control,
debian/control.md5sum and debian/rules.gen.

Ben.

diff -Nru linux-tools-3.16/debian/build/tools/perf/Makefile 
linux-tools-3.16/debian/build/tools/perf/Makefile
--- linux-tools-3.16/debian/build/tools/perf/Makefile   2014-09-09 
06:06:33.000000000 +0100
+++ linux-tools-3.16/debian/build/tools/perf/Makefile   2015-01-31 
23:03:49.000000000 +0000
@@ -12,6 +12,9 @@
   NO_LIBUNWIND=
 else ifeq ($(DEB_HOST_ARCH_CPU),arm)
   KERNEL_ARCH_PERF = arm
+else ifeq ($(DEB_HOST_ARCH_CPU),arm64)
+  KERNEL_ARCH_PERF = arm64
+  NO_LIBUNWIND=
 else ifeq ($(DEB_HOST_ARCH_CPU),hppa)
   KERNEL_ARCH_PERF = parisc
 else ifeq ($(DEB_HOST_ARCH_CPU),i386)
@@ -35,9 +38,19 @@
   KERNEL_ARCH_PERF = sparc
 endif
 
-# - disable Gtk UI until it's more usable
-# - Include version in all directory names
-MAKE_PERF := $(MAKE) prefix=/usr perfexecdir=share/perf_$(VERSION)-core 
plugindir=/usr/lib/traceevent_$(VERSION)/plugins NO_GTK2=1 NO_PERL=1 V=1 
HAVE_CPLUS_DEMANGLE=1 ARCH=$(KERNEL_ARCH_PERF) EXTRA_WARNINGS=-Wno-error 
NO_LIBUNWIND=$(NO_LIBUNWIND)
+MAKE_PERF := $(MAKE) prefix=/usr V=1 ARCH=$(KERNEL_ARCH_PERF) 
EXTRA_WARNINGS=-Wno-error NO_LIBUNWIND=$(NO_LIBUNWIND)
+
+# Disable Gtk UI until it's more usable
+MAKE_PERF += NO_GTK2=1
+
+# Include version in all directory names
+MAKE_PERF += perfexecdir=share/perf_$(VERSION)-core 
plugindir=/usr/lib/traceevent_$(VERSION)/plugins
+
+# perf can link against libbfd if available, but the result is
+# undistributable as they are licenced under GPL v2 and v3+
+# respectively.  Override detection of libbfd and insist that
+# cplus_demangle() can be found in libiberty (LGPL v2.1+).
+MAKE_PERF += feature-libbfd=0 HAVE_CPLUS_DEMANGLE_SUPPORT=1
 
 all:
 ifdef KERNEL_ARCH_PERF
@@ -47,6 +60,11 @@
 # run 'make install'.
        +$(MAKE_PERF) -C $(top_srcdir)/tools/perf -f Makefile.perf 
O=$(CURDIR)/out all VERSION=$(VERSION) DESTDIR=dummy
        +$(MAKE_PERF) -C $(top_srcdir)/tools/perf/Documentation O=$(CURDIR)/out 
man VERSION=$(VERSION)
+# Check that perf didn't get linked against libbfd
+       type ldd
+       ! ldd $(CURDIR)/out/perf | grep '\blibbfd'
+# Check that it includes cplus_demangle from libiberty
+       grep cplus_demangle $(CURDIR)/out/perf
 endif
 
 install:
diff -Nru linux-tools-3.16/debian/changelog linux-tools-3.16/debian/changelog
--- linux-tools-3.16/debian/changelog   2014-09-09 13:21:12.000000000 +0100
+++ linux-tools-3.16/debian/changelog   2015-02-02 22:05:59.000000000 +0000
@@ -1,3 +1,13 @@
+linux-tools (3.16-3) unstable; urgency=medium
+
+  * linux-tools: Fix build configuration to avoid linking perf with libbfd
+    (Closes: #763002)
+  * linux-tools: Add a check that perf is not linked with libbfd
+  * [arm64] Enable building linux-tools, thanks to Steve Capper
+    (Closes: #771340)
+
+ -- Ben Hutchings <b...@decadent.org.uk>  Mon, 02 Feb 2015 22:05:59 +0000
+
 linux-tools (3.16-2) unstable; urgency=medium
 
   * linux-kbuild: Change the type headers used for devicetable-offsets.c
diff -Nru 
linux-tools-3.16/debian/patches/perf-tools-fix-arm64-build-error.patch 
linux-tools-3.16/debian/patches/perf-tools-fix-arm64-build-error.patch
--- linux-tools-3.16/debian/patches/perf-tools-fix-arm64-build-error.patch      
1970-01-01 01:00:00.000000000 +0100
+++ linux-tools-3.16/debian/patches/perf-tools-fix-arm64-build-error.patch      
2015-01-31 15:34:13.000000000 +0000
@@ -0,0 +1,39 @@
+From: Mark Salter <msal...@redhat.com>
+Date: Fri, 25 Jul 2014 18:02:46 -0400
+Subject: perf tools: Fix arm64 build error
+Origin: https://git.kernel.org/linus/7d885749b6de2c9a1168d566e2380207b9177108
+
+I'm seeing the following build error on arm64:
+
+  In file included from util/event.c:3:0:
+  util/event.h:95:17: error: 'PERF_REGS_MAX' undeclared here (not in a 
function)
+    u64 cache_regs[PERF_REGS_MAX];
+                 ^
+
+This patch adds a PERF_REGS_MAX definition for arm64.
+
+Signed-off-by: Mark Salter <msal...@redhat.com>
+Acked-by: Jean Pihet <jean.pi...@linaro.org>
+Cc: Ingo Molnar <mi...@redhat.com>
+Cc: Jean Pihet <jean.pi...@linaro.org>
+Cc: Paul Mackerras <pau...@samba.org>
+Cc: Peter Zijlstra <a.p.zijls...@chello.nl>
+Link: 
http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msal...@redhat.com
+Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
+---
+ tools/perf/arch/arm64/include/perf_regs.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tools/perf/arch/arm64/include/perf_regs.h 
b/tools/perf/arch/arm64/include/perf_regs.h
+index e9441b9..1d3f39c 100644
+--- a/tools/perf/arch/arm64/include/perf_regs.h
++++ b/tools/perf/arch/arm64/include/perf_regs.h
+@@ -6,6 +6,8 @@
+ #include <asm/perf_regs.h>
+ 
+ #define PERF_REGS_MASK        ((1ULL << PERF_REG_ARM64_MAX) - 1)
++#define PERF_REGS_MAX PERF_REG_ARM64_MAX
++
+ #define PERF_REG_IP   PERF_REG_ARM64_PC
+ #define PERF_REG_SP   PERF_REG_ARM64_SP
+ 
diff -Nru linux-tools-3.16/debian/patches/series 
linux-tools-3.16/debian/patches/series
--- linux-tools-3.16/debian/patches/series      2014-09-08 23:32:53.000000000 
+0100
+++ linux-tools-3.16/debian/patches/series      2015-01-31 15:34:13.000000000 
+0000
@@ -3,3 +3,4 @@
 tools-perf-install.patch
 usbip-document-tcp-wrappers.patch
 kbuild-fix-recordmcount-dependency.patch
+perf-tools-fix-arm64-build-error.patch
diff -Nru linux-tools-3.16/debian/rules.real linux-tools-3.16/debian/rules.real
--- linux-tools-3.16/debian/rules.real  2014-09-08 23:32:53.000000000 +0100
+++ linux-tools-3.16/debian/rules.real  2015-01-31 15:35:11.000000000 +0000
@@ -9,7 +9,7 @@
 VERSION_DEBIAN_FULL := $(shell dpkg-parsechangelog | sed -ne 's,^Version: 
*\(.*\)$$,\1,p')
 
 binary-arch: install-kbuild install-usbip
-ifneq ($(filter alpha amd64 armel armhf hppa i386 powerpc ppc64 ppc64el s390 
s390x sh4 sparc sparc64,$(DEB_BUILD_ARCH)),)
+ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 powerpc ppc64 ppc64el 
s390 s390x sh4 sparc sparc64,$(DEB_BUILD_ARCH)),)
   binary-arch: install-tools
 endif
 
diff -Nru linux-tools-3.16/debian/templates/control.main.in 
linux-tools-3.16/debian/templates/control.main.in
--- linux-tools-3.16/debian/templates/control.main.in   2014-09-08 
23:32:53.000000000 +0100
+++ linux-tools-3.16/debian/templates/control.main.in   2015-01-31 
15:34:42.000000000 +0000
@@ -7,7 +7,7 @@
 
 Package: linux-tools-@version@
 Section: devel
-Architecture: alpha amd64 armel armhf hppa i386 powerpc ppc64 ppc64el s390 
s390x sh4 sparc sparc64
+Architecture: alpha amd64 arm64 armel armhf hppa i386 powerpc ppc64 ppc64el 
s390 s390x sh4 sparc sparc64
 Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python:Depends}
 Recommends: linux-base (>= 3.4~)
 Suggests: linux-doc-@version@
diff -Nru linux-tools-3.16/debian/templates/control.source.in 
linux-tools-3.16/debian/templates/control.source.in
--- linux-tools-3.16/debian/templates/control.source.in 2014-09-08 
23:32:53.000000000 +0100
+++ linux-tools-3.16/debian/templates/control.source.in 2015-02-02 
22:13:42.000000000 +0000
@@ -6,7 +6,7 @@
 Standards-Version: 3.9.4
 Build-Depends:
  debhelper (>> 7), python,
- asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev | 
binutils-dev (<< 2.23.91.20131123-1), libnewt-dev, libnuma-dev [amd64 i386 
powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 i386], python-dev, 
xmlto,
+ asciidoc, bison, flex, libaudit-dev, libdw-dev, libelf-dev, libiberty-dev | 
binutils-dev (<< 2.23.91.20131123-1), libnewt-dev, libnuma-dev [amd64 arm64 
i386 powerpc ppc64 ppc64el], libperl-dev, libunwind8-dev [amd64 arm64 i386], 
python-dev, xmlto,
  autoconf, automake, libtool, libglib2.0-dev, libudev-dev, libwrap0-dev
 Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux-tools/
 Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux-tools/


-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to