blob: ec5c10c80d004556c18154d20a10452b393b3a85 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001SUMMARY = "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 file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \
17 file://0002-tests-Replace-off64_t-with-off_t.patch \
18 "
19SRC_URI[sha256sum] = "2579e9cec37dbb786f6ea0bebd15f40dd561ef2bde2a2a2ecdce5963b01859fd"
20
21inherit autotools ptest
22
23# Not yet ported to rv32
24COMPATIBLE_HOST:riscv32 = "null"
25
26PACKAGECONFIG:class-target ??= "\
27 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
28"
29
30PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
31PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
32
33EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
34
35CFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext"
36
37TESTDIR = "tests"
38PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
39
40do_compile_ptest() {
41 oe_runmake -C ${TESTDIR} buildtest-TESTS
42}
43
44do_install_ptest() {
45 oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
46 mkdir -p ${D}${PTEST_PATH}/build-aux
47 mkdir -p ${D}${PTEST_PATH}/src
48 install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
49 install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/
50 sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
51}
52
53RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed"
54
55RDEPENDS:${PN}-ptest:append:libc-glibc = "\
56 locale-base-en-us.iso-8859-1 \
57"
58
59BBCLASSEXTEND = "native"