blob: 75ff58bd50254a36a390bc007f0c50d2e660fdb0 [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001SUMMARY = "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"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00005LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
Andrew Geissler595f6302022-01-24 19:11:47 +00006LIC_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 \
Andrew Geissler595f6302022-01-24 19:11:47 +000012 file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
13 file://ptest-spacesave.patch \
14 file://0001-strace-fix-reproducibilty-issues.patch \
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000015 file://skip-load.patch \
Andrew Geissler595f6302022-01-24 19:11:47 +000016 "
Andrew Geissler615f2f12022-07-15 14:00:58 -050017SRC_URI[sha256sum] = "60293ea79ac9253d600cdc9be077ad2988ca22284a439c9e66be5150db3d1187"
Andrew Geissler595f6302022-01-24 19:11:47 +000018
19inherit autotools ptest
20
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050021# Not yet ported to rv32
22COMPATIBLE_HOST:riscv32 = "null"
23
Andrew Geissler595f6302022-01-24 19:11:47 +000024PACKAGECONFIG: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() {
Andrew Geissler615f2f12022-07-15 14:00:58 -050039 oe_runmake -C ${TESTDIR} buildtest-TESTS
Andrew Geissler595f6302022-01-24 19:11:47 +000040}
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"