blob: 5e69cfd5f901a2a7e83df5d9896d632434d6b01a [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001SUMMARY = "System call tracing tool"
2HOMEPAGE = "http://strace.io"
3DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state."
4SECTION = "console/utils"
5LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=59a33f0a3e6122d67c0b3befccbdaa6b"
7
8SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
9 file://update-gawk-paths.patch \
10 file://Makefile-ptest.patch \
11 file://run-ptest \
12 file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
13 file://ptest-spacesave.patch \
14 file://0001-strace-fix-reproducibilty-issues.patch \
15 file://skip-load.patch \
16 "
17SRC_URI[sha256sum] = "aa3dc1c8e60e4f6ff3d396514aa247f3c7bf719d8a8dc4dd4fa793be786beca3"
18
19inherit autotools ptest
20
21# Not yet ported to rv32
22COMPATIBLE_HOST:riscv32 = "null"
23
24PACKAGECONFIG:class-target ??= "\
25 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
26"
27
28PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
29PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
30
31EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
32
33CFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext"
34
35TESTDIR = "tests"
36PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
37
38do_compile_ptest() {
39 oe_runmake -C ${TESTDIR} buildtest-TESTS
40}
41
42do_install_ptest() {
43 oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
44 mkdir -p ${D}${PTEST_PATH}/build-aux
45 mkdir -p ${D}${PTEST_PATH}/src
46 install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
47 install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/
48 sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
49}
50
51RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed"
52
53RDEPENDS:${PN}-ptest:append:libc-glibc = "\
54 locale-base-en-us.iso-8859-1 \
55"
56
57BBCLASSEXTEND = "native"