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