commit: 2a84d30e55502c01c27fa176e3e09c09c59361d7
Author: Naohiro Aota <naota <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 16 13:22:46 2015 +0000
Commit: Naohiro Aota <naota <AT> gentoo <DOT> org>
CommitDate: Sun Aug 16 13:24:49 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a84d30e
dev-util/perf: fix install dir
perf binary and libs are accidentaly installed under / not /usr. Add a
patch to fix "prefix=" behavior and reuse prefix argument.
dev-util/perf/files/perf-4.1.5-prefix.patch | 43 ++++++++++++++++++++++
.../{perf-4.1.5.ebuild => perf-4.1.5-r1.ebuild} | 4 +-
2 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/dev-util/perf/files/perf-4.1.5-prefix.patch
b/dev-util/perf/files/perf-4.1.5-prefix.patch
new file mode 100644
index 0000000..0c4dff0
--- /dev/null
+++ b/dev-util/perf/files/perf-4.1.5-prefix.patch
@@ -0,0 +1,43 @@
+commit 75e84ab906ef8935cff3df3d8929f1bafea81599
+Author: Lukas Wunner <[email protected]>
+Date: Thu Jun 18 13:00:32 2015 +0200
+
+ perf tools: Fix build breakage if prefix= is specified
+
+ Invoking Makefile.perf with prefix= breaks the build since Makefile.perf
+ hands that variable down to Makefile.build where it overrides
+
+ prefix := $(subst ./,,$(OUTPUT)$(dir)/)
+
+ leading to errors like this:
+
+ No rule to make target '/usrabspath.o', needed by '/usrlibperf-in.o'
+
+ Signed-off-by: Lukas Wunner <[email protected]>
+ Acked-by: Jiri Olsa <[email protected]>
+ Cc: David Ahern <[email protected]>
+ Fixes: c819e2cf2eb6f65d3208d195d7a0edef6108d5
+ Link:
http://lkml.kernel.org/r/[email protected]
+ Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
+
+diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
+index 10df572..98cfc38 100644
+--- a/tools/build/Makefile.build
++++ b/tools/build/Makefile.build
+@@ -94,12 +94,12 @@ obj-y := $(patsubst %/, %/$(obj)-in.o, $(obj-y))
+ subdir-obj-y := $(filter %/$(obj)-in.o, $(obj-y))
+
+ # '$(OUTPUT)/dir' prefix to all objects
+-prefix := $(subst ./,,$(OUTPUT)$(dir)/)
+-obj-y := $(addprefix $(prefix),$(obj-y))
+-subdir-obj-y := $(addprefix $(prefix),$(subdir-obj-y))
++objprefix := $(subst ./,,$(OUTPUT)$(dir)/)
++obj-y := $(addprefix $(objprefix),$(obj-y))
++subdir-obj-y := $(addprefix $(objprefix),$(subdir-obj-y))
+
+ # Final '$(obj)-in.o' object
+-in-target := $(prefix)$(obj)-in.o
++in-target := $(objprefix)$(obj)-in.o
+
+ PHONY += $(subdir-y)
+
diff --git a/dev-util/perf/perf-4.1.5.ebuild
b/dev-util/perf/perf-4.1.5-r1.ebuild
similarity index 98%
rename from dev-util/perf/perf-4.1.5.ebuild
rename to dev-util/perf/perf-4.1.5-r1.ebuild
index b49b73f..1323e67 100644
--- a/dev-util/perf/perf-4.1.5.ebuild
+++ b/dev-util/perf/perf-4.1.5-r1.ebuild
@@ -107,6 +107,8 @@ src_prepare() {
epatch "${WORKDIR}"/${P}.patch
fi
+ epatch "${FILESDIR}"/${P}-prefix.patch
+
# Drop some upstream too-developer-oriented flags and fix the
# Makefile in general
sed -i \
@@ -140,10 +142,10 @@ perf_make() {
# but it also wants to know about the split value -- i386/x86_64 vs just
# x86. We can get that by telling the func to use an older linux
version.
# It's kind of a hack, but not that bad ...
- # prefix="/usr" bindir_relative="bin" \
local arch=$(tc-arch-kernel)
emake V=1 \
CC="$(tc-getCC)" AR="$(tc-getAR)" \
+ prefix="/usr" bindir_relative="bin" \
CFLAGS_OPTIMIZE="${CFLAGS}" \
LDFLAGS_OPTIMIZE="${LDFLAGS}" \
ARCH="${arch}" \