From f4a93a643331c46fefa8acc19ac3ed5d9e96fabc Mon Sep 17 00:00:00 2001 From: eroen Date: Fri, 25 Nov 2016 17:50:54 +0100 Subject: [PATCH] dev-util/strace - paxmark pc.test We don't know which of the "tests" folders will be or even /can/ be built, so paxmarking must happen in the build system. X-Gentoo-Bug: 600850 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=600850 --- dev-util/strace/metadata.xml | 3 +++ dev-util/strace/strace-4.14.ebuild | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dev-util/strace/metadata.xml b/dev-util/strace/metadata.xml index 869980f019..02d4c03829 100644 --- a/dev-util/strace/metadata.xml +++ b/dev-util/strace/metadata.xml @@ -9,6 +9,9 @@ Enable dev-libs/libaio support for tracing Asynchronous I/O operations + + Paxmark test-suite executables that require it + Enable stack backtraces (-k flag) via sys-libs/libunwind diff --git a/dev-util/strace/strace-4.14.ebuild b/dev-util/strace/strace-4.14.ebuild index 6c5ede4669..52dea07eaa 100644 --- a/dev-util/strace/strace-4.14.ebuild +++ b/dev-util/strace/strace-4.14.ebuild @@ -19,12 +19,13 @@ HOMEPAGE="https://sourceforge.net/projects/strace/" LICENSE="BSD" SLOT="0" -IUSE="aio perl static unwind" +IUSE="aio pax_kernel perl static unwind" LIB_DEPEND="unwind? ( sys-libs/libunwind[static-libs(+)] )" # strace only uses the header from libaio to decode structs DEPEND="static? ( ${LIB_DEPEND} ) aio? ( >=dev-libs/libaio-0.3.106 ) + pax_kernel? ( sys-apps/elfix ) sys-kernel/linux-headers" RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) perl? ( dev-lang/perl )" @@ -45,9 +46,22 @@ src_prepare() { # Stub out the -k test since it's known to be flaky. #545812 sed -i '1iexit 77' tests*/strace-k.test || die + + # https://bugs.gentoo.org/600850 + local d; for d in tests tests-m32 tests-mx32; do + pushd "$d" >/dev/null + printf '%s\n' '' \ + '.PHONY: pc.paxmark' \ + 'pc.paxmark:' \ + $'\t$(PAXMARK) -pm pc' \ + 'pc.log: pc.test pc pc.paxmark' \ + >> Makefile.in || die + popd >/dev/null + done } src_configure() { + export PAXMARK="$(usex pax_kernel "${EPREFIX}/usr/sbin/paxmark.sh" "true")" econf $(use_with unwind libunwind) } -- 2.11.0.rc2