From a2bc9d510ea14ded774be3d979ce876e61f50f06 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 11 May 2015 02:51:07 +0000 Subject: [PATCH] linux-tools: Install perf-read-vdso{,x}32 in versioned directory under /usr/lib Also move all the other 'libexec' stuff from /usr/share to /usr/lib. It's all a big multilib (not multiarch) mess. :-( svn path=/dists/trunk/linux-tools/; revision=22602 --- debian/build/tools/perf/Makefile | 2 +- debian/changelog | 2 + debian/patches/tools-perf-version.patch | 49 +++++++++++++++++++++++-- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/debian/build/tools/perf/Makefile b/debian/build/tools/perf/Makefile index 3e14aeb11..bcf921085 100644 --- a/debian/build/tools/perf/Makefile +++ b/debian/build/tools/perf/Makefile @@ -32,7 +32,7 @@ MAKE_PERF := $(MAKE) prefix=/usr V=1 ARCH=$(KERNEL_ARCH_PERF) EXTRA_WARNINGS=-Wn MAKE_PERF += NO_GTK2=1 # Include version in all directory names -MAKE_PERF += perfexecdir=share/perf_$(VERSION)-core plugindir=/usr/lib/traceevent_$(VERSION)/plugins +MAKE_PERF += perfexecdir=lib/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+ diff --git a/debian/changelog b/debian/changelog index 1bb6e3de0..c41d68751 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,8 @@ linux-tools (4.0.2-1) UNRELEASED; urgency=medium to 4.0 (Closes: #778588) * debian/control: Add gcc-multilib to Build-Depends in order to build perf-read-vdso{,x}32 + * linux-tools: Install perf-read-vdso{,x}32 in versioned directory + under /usr/lib * linux-tools: Set ARCH=x86 when building perf for amd64, i386 or x32 * linux-kbuild: Include Makefile.kasan (Closes: #783681) * linux-kbuild: Enable Large File Support (Closes: #778942) diff --git a/debian/patches/tools-perf-version.patch b/debian/patches/tools-perf-version.patch index 317208f3a..fb3d790aa 100644 --- a/debian/patches/tools-perf-version.patch +++ b/debian/patches/tools-perf-version.patch @@ -9,7 +9,17 @@ version-dependent name. And do the same for trace.] --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf -@@ -923,8 +923,8 @@ install-gtk: +@@ -756,6 +756,9 @@ $(OUTPUT)util/find_next_bit.o: ../lib/ut + $(OUTPUT)util/parse-events.o: util/parse-events.c $(OUTPUT)PERF-CFLAGS + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-redundant-decls $< + ++$(OUTPUT)util/vdso.o: util/vdso.c $(OUTPUT)PERF-CFLAGS ++ $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DPERFEXECDIR='"$(perfexec_instdir_SQ)"' $< ++ + $(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-undef -Wno-switch-default $< + +@@ -923,18 +926,18 @@ install-gtk: install-bin: all install-gtk $(call QUIET_INSTALL, binaries) \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'; \ @@ -17,10 +27,24 @@ version-dependent name. And do the same for trace.] - $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf' '$(DESTDIR_SQ)$(bindir_SQ)/trace' + $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)'; \ + $(LN) '$(DESTDIR_SQ)$(bindir_SQ)/perf_$(VERSION)' '$(DESTDIR_SQ)$(bindir_SQ)/trace_$(VERSION)' ++ $(call QUIET_INSTALL, libexec) \ ++ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' ifndef NO_PERF_READ_VDSO32 $(call QUIET_INSTALL, perf-read-vdso32) \ - $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(bindir_SQ)'; -@@ -957,7 +957,7 @@ ifndef NO_LIBPYTHON +- $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(bindir_SQ)'; ++ $(INSTALL) $(OUTPUT)perf-read-vdso32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'; + endif + ifndef NO_PERF_READ_VDSOX32 + $(call QUIET_INSTALL, perf-read-vdsox32) \ +- $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(bindir_SQ)'; ++ $(INSTALL) $(OUTPUT)perf-read-vdsox32 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'; + endif +- $(call QUIET_INSTALL, libexec) \ +- $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' + $(call QUIET_INSTALL, perf-archive) \ + $(INSTALL) $(OUTPUT)perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' + $(call QUIET_INSTALL, perf-with-kcore) \ +@@ -957,7 +960,7 @@ ifndef NO_LIBPYTHON endif $(call QUIET_INSTALL, perf_completion-script) \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \ @@ -29,7 +53,7 @@ version-dependent name. And do the same for trace.] $(call QUIET_INSTALL, tests) \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \ $(INSTALL) tests/attr.py '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \ -@@ -971,7 +971,7 @@ install-python_ext: +@@ -971,7 +974,7 @@ install-python_ext: # 'make install-doc' should call 'make -C Documentation install' $(INSTALL_DOC_TARGETS): @@ -63,3 +87,20 @@ version-dependent name. And do the same for trace.] install-man: check-man-tools man +--- a/tools/perf/util/vdso.c ++++ b/tools/perf/util/vdso.c +@@ -51,12 +51,12 @@ static struct vdso_info *vdso_info__new( + .vdso32 = { + .temp_file_name = VDSO__TEMP_FILE_NAME, + .dso_name = DSO__NAME_VDSO32, +- .read_prog = "perf-read-vdso32", ++ .read_prog = PERFEXECDIR "/perf-read-vdso32", + }, + .vdsox32 = { + .temp_file_name = VDSO__TEMP_FILE_NAME, + .dso_name = DSO__NAME_VDSOX32, +- .read_prog = "perf-read-vdsox32", ++ .read_prog = PERFEXECDIR "/perf-read-vdsox32", + }, + #endif + };