dev-util/perf: fix install dir
authorNaohiro Aota <naota@gentoo.org>
Sun, 16 Aug 2015 13:22:46 +0000 (22:22 +0900)
committerNaohiro Aota <naota@gentoo.org>
Sun, 16 Aug 2015 13:24:49 +0000 (22:24 +0900)
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 [new file with mode: 0644]
dev-util/perf/perf-4.1.5-r1.ebuild [moved from dev-util/perf/perf-4.1.5.ebuild with 98% similarity]

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 (file)
index 0000000..0c4dff0
--- /dev/null
@@ -0,0 +1,43 @@
+commit 75e84ab906ef8935cff3df3d8929f1bafea81599
+Author: Lukas Wunner <lukas@wunner.de>
+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 <lukas@wunner.de>
+    Acked-by: Jiri Olsa <jolsa@kernel.org>
+    Cc: David Ahern <dsahern@gmail.com>
+    Fixes: c819e2cf2eb6f65d3208d195d7a0edef6108d5
+    Link: http://lkml.kernel.org/r/5582c48a.84a22b0a.a918.5285SMTPIN_ADDED_MISSING@mx.google.com
+    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
+
+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)
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 b49b73f6365396223570924167fd2198e465a233..1323e675b275a208b3d9101e6271d930fc1134a0 100644 (file)
@@ -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}" \