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
This commit is contained in:
Ben Hutchings 2015-05-11 02:51:07 +00:00
parent e61262a4b0
commit a2bc9d510e
3 changed files with 48 additions and 5 deletions

View File

@ -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+

2
debian/changelog vendored
View File

@ -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)

View File

@ -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
};