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