[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#776900: marked as done (unblock: linux-tools/3.16-3)



Your message dated Fri, 06 Feb 2015 23:43:48 +0100
with message-id <54D543A4.1030205@thykier.net>
and subject line Re: Bug#776900: unblock: linux-tools/3.16-3
has caused the Debian Bug report #776900,
regarding unblock: linux-tools/3.16-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
776900: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776900
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@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 <ben@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 <msalter@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 <msalter@redhat.com>
+Acked-by: Jean Pihet <jean.pihet@linaro.org>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Jean Pihet <jean.pihet@linaro.org>
+Cc: Paul Mackerras <paulus@samba.org>
+Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
+Link: http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msalter@redhat.com
+Signed-off-by: Arnaldo Carvalho de Melo <acme@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)

--- End Message ---
--- Begin Message ---
On 2015-02-03 03:21, Ben Hutchings wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@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.
> 
> [...]

Unblocked, thanks.

~Niels

--- End Message ---

Reply to: