xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/strace/strace_5.16.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "System call tracing tool"
2*4882a593SmuzhiyunHOMEPAGE = "http://strace.io"
3*4882a593SmuzhiyunDESCRIPTION = "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."
4*4882a593SmuzhiyunSECTION = "console/utils"
5*4882a593SmuzhiyunLICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=59a33f0a3e6122d67c0b3befccbdaa6b"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunSRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
9*4882a593Smuzhiyun           file://update-gawk-paths.patch \
10*4882a593Smuzhiyun           file://Makefile-ptest.patch \
11*4882a593Smuzhiyun           file://run-ptest \
12*4882a593Smuzhiyun           file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
13*4882a593Smuzhiyun           file://ptest-spacesave.patch \
14*4882a593Smuzhiyun           file://0001-strace-fix-reproducibilty-issues.patch \
15*4882a593Smuzhiyun           file://skip-load.patch \
16*4882a593Smuzhiyun           file://0001-landlock-update-expected-string.patch \
17*4882a593Smuzhiyun           "
18*4882a593SmuzhiyunSRC_URI[sha256sum] = "dc7db230ff3e57c249830ba94acab2b862da1fcaac55417e9b85041a833ca285"
19*4882a593Smuzhiyun
20*4882a593Smuzhiyuninherit autotools ptest
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun# Not yet ported to rv32
23*4882a593SmuzhiyunCOMPATIBLE_HOST:riscv32 = "null"
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunPACKAGECONFIG:class-target ??= "\
26*4882a593Smuzhiyun    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
27*4882a593Smuzhiyun"
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunPACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
30*4882a593SmuzhiyunPACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunEXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunCFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext"
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunTESTDIR = "tests"
37*4882a593SmuzhiyunPTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
38*4882a593Smuzhiyun
39*4882a593Smuzhiyundo_compile_ptest() {
40*4882a593Smuzhiyun	oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS
41*4882a593Smuzhiyun}
42*4882a593Smuzhiyun
43*4882a593Smuzhiyundo_install_ptest() {
44*4882a593Smuzhiyun	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
45*4882a593Smuzhiyun	mkdir -p ${D}${PTEST_PATH}/build-aux
46*4882a593Smuzhiyun	mkdir -p ${D}${PTEST_PATH}/src
47*4882a593Smuzhiyun	install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
48*4882a593Smuzhiyun	install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/
49*4882a593Smuzhiyun        sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
50*4882a593Smuzhiyun}
51*4882a593Smuzhiyun
52*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "make coreutils grep gawk sed"
53*4882a593Smuzhiyun
54*4882a593SmuzhiyunRDEPENDS:${PN}-ptest:append:libc-glibc = "\
55*4882a593Smuzhiyun     locale-base-en-us.iso-8859-1 \
56*4882a593Smuzhiyun"
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunBBCLASSEXTEND = "native"
59