summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/perf
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-03-12 20:30:40 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-21 12:05:51 +0000
commit08808c9f404d01c497b92e7d34a3bb0c0159a258 (patch)
tree4bcec2a2499e6301456a82b8ee59211be5fbc52b /meta/recipes-kernel/perf
parentfe0287c81c95fa935b497829525d9fe5bbbe2079 (diff)
downloadpoky-08808c9f404d01c497b92e7d34a3bb0c0159a258.tar.gz
perf: add libexec and traceevent to packages
Recent versions of perf may install files into /usr/libexec/perf-core and in /usr/lib/traceevent. To avoid packaging QA errors, we add these two directories to the FILES variables. We also add: INHIBIT_PACKAGE_DEBUG_SPLIT="1" to avoid the following issue (due to a trailing / being removed): ERROR: debugedit failed with exit code 256 ... debugedit: canonicalization unexpectedly shrank by one character And finally, we must ensure that the traceevent libraries are installed to the proper multilib library path. If building some multlibs, the incorrect library path will be selected by perf, since it triggers via: ifeq ($(ARCH),x86_64) (or similiar mechanism per arch). In a 32 bit build, with a 64 bit multilib, the arch won't match and the detection of a 64 bit build (and library) are not exected. To ensure that libraries are installed to the correct location, we can make the substitution in the config/Makefile. For non multilib builds, this has no impact. (From OE-Core rev: c1b5a262c0201faf2c6bf545d6acb32dfe383ba3) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/perf')
-rw-r--r--meta/recipes-kernel/perf/perf.bb17
1 files changed, 16 insertions, 1 deletions
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 56576d5d65..9dfccdfd60 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -120,6 +120,19 @@ do_install() {
120do_configure_prepend () { 120do_configure_prepend () {
121 #kernels before 3.1 do not support WERROR env variable 121 #kernels before 3.1 do not support WERROR env variable
122 sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile 122 sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile
123 if [ -e "${S}/tools/perf/config/Makefile" ]; then
124 sed -i 's,-Werror ,,' ${S}/tools/perf/config/Makefile
125 fi
126
127 # If building a multlib based perf, the incorrect library path will be
128 # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit
129 # build, with a 64 bit multilib, the arch won't match and the detection of a
130 # 64 bit build (and library) are not exected. To ensure that libraries are
131 # installed to the correct location, we can make the substitution in the
132 # config/Makefile. For non multilib builds, this has no impact.
133 if [ -e "${S}/tools/perf/config/Makefile" ]; then
134 sed -i 's,libdir = $(prefix)/$(lib),libdir = $(prefix)/${baselib},' ${S}/tools/perf/config/Makefile
135 fi
123} 136}
124 137
125python do_package_prepend() { 138python do_package_prepend() {
@@ -128,6 +141,8 @@ python do_package_prepend() {
128 141
129PACKAGE_ARCH = "${MACHINE_ARCH}" 142PACKAGE_ARCH = "${MACHINE_ARCH}"
130 143
131FILES_${PN} += "${libexecdir}/perf-core" 144FILES_${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent"
132FILES_${PN}-dbg += "${libdir}/python*/site-packages/.debug" 145FILES_${PN}-dbg += "${libdir}/python*/site-packages/.debug"
133FILES_${PN} += "${libdir}/python*/site-packages" 146FILES_${PN} += "${libdir}/python*/site-packages"
147
148INHIBIT_PACKAGE_DEBUG_SPLIT="1"