From 9503a756c3805a5479db84e5b490ff29ac376435 Mon Sep 17 00:00:00 2001 From: Gwendal Grignou Date: Thu, 16 Jan 2020 12:39:01 -0800 Subject: [PATCH] sys-block/blktrace: Be sure rbtree is not compiled twice Ensure all binaries are compiled on . before compiling other directory, as btt/btt and blkiomon need the same file, rbtree.o. Signed-off-by: Gwendal Grignou --- ...-1.2.0.ebuild => blktrace-1.2.0-r1.ebuild} | 1 + .../blktrace-1.2.0-parallel-rbtree.patch | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) rename sys-block/blktrace/{blktrace-1.2.0.ebuild => blktrace-1.2.0-r1.ebuild} (95%) create mode 100644 sys-block/blktrace/files/blktrace-1.2.0-parallel-rbtree.patch diff --git a/sys-block/blktrace/blktrace-1.2.0.ebuild b/sys-block/blktrace/blktrace-1.2.0-r1.ebuild similarity index 95% rename from sys-block/blktrace/blktrace-1.2.0.ebuild rename to sys-block/blktrace/blktrace-1.2.0-r1.ebuild index 01f024b8..99ca6e5b 100644 --- a/sys-block/blktrace/blktrace-1.2.0.ebuild +++ b/sys-block/blktrace/blktrace-1.2.0-r1.ebuild @@ -35,6 +35,7 @@ PATCHES=( "${FILESDIR}"/${P}-overlapping-io-stats.patch "${FILESDIR}"/${PN}-1.2.0-ldflags.patch #335741 "${FILESDIR}"/${PN}-1.2.0-parallel-build.patch #335741 + "${FILESDIR}"/${PN}-1.2.0-parallel-rbtree.patch #705594 ) src_compile() { diff --git a/sys-block/blktrace/files/blktrace-1.2.0-parallel-rbtree.patch b/sys-block/blktrace/files/blktrace-1.2.0-parallel-rbtree.patch new file mode 100644 index 00000000..8c328dab --- /dev/null +++ b/sys-block/blktrace/files/blktrace-1.2.0-parallel-rbtree.patch @@ -0,0 +1,32 @@ +commit 817bd67f206b325f4494f1f86d970c2f76a3b794 +Author: Gwendal Grignou +Date: Thu Jan 16 12:12:57 2020 -0800 + + fix parallel build of btt and blkiomon + + rbtree.c is used by both binaries. It is possible that when make -C btt + is invoked rbtree.o does not exist yet, but is already schedule by the + compilation of blkiomon. That could result in recompiling rbtree.o again + for btt/btt. + In that case, at install time, make will recompile blkiomon which can + fail in gentoo, because CC variable is not overriden by ebuild script at + install time. (see https://bugs.gentoo.org/705594) + + Add a dependency on SUBDIRS to wait for all binary in . to be compiled. + It will guarante rbtree.o exists. + + Signed-off-by: Gwendal Grignou + +diff --git a/Makefile b/Makefile +index 5917814..eb3c6a1 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ all: $(ALL) $(SUBDIRS) + + # We always descend into subdirs because they contain their own dependency + # information which we don't track in this top level Makefile. +-$(SUBDIRS): ++$(SUBDIRS): $(PROGS) + $(MAKE) -C $@ + .PHONY: $(SUBDIRS) + -- 2.24.1