Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | SUMMARY = "System call tracing tool" |
| 2 | HOMEPAGE = "http://strace.io" |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame^] | 3 | DESCRIPTION = "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." |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 4 | SECTION = "console/utils" |
| 5 | LICENSE = "LGPL-2.1+ & GPL-2+" |
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=c756d9d5dabc27663df64f0bf492166c" |
| 7 | |
| 8 | SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ |
| 9 | file://disable-git-version-gen.patch \ |
| 10 | file://update-gawk-paths.patch \ |
| 11 | file://Makefile-ptest.patch \ |
| 12 | file://run-ptest \ |
| 13 | file://mips-SIGEMT.patch \ |
| 14 | file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ |
| 15 | file://ptest-spacesave.patch \ |
| 16 | file://uintptr_t.patch \ |
| 17 | file://0001-strace-fix-reproducibilty-issues.patch \ |
| 18 | " |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 19 | SRC_URI[sha256sum] = "fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 20 | |
| 21 | inherit autotools ptest |
| 22 | |
| 23 | PACKAGECONFIG_class-target ??= "\ |
| 24 | ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ |
| 25 | " |
| 26 | |
| 27 | PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" |
| 28 | PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" |
| 29 | |
Andrew Geissler | 4ed12e1 | 2020-06-05 18:00:41 -0500 | [diff] [blame] | 30 | EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 31 | |
| 32 | CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" |
| 33 | |
| 34 | TESTDIR = "tests" |
| 35 | PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" |
| 36 | |
| 37 | do_install_append() { |
| 38 | # We don't ship strace-graph here because it needs perl |
| 39 | rm ${D}${bindir}/strace-graph |
| 40 | } |
| 41 | |
| 42 | do_compile_ptest() { |
| 43 | oe_runmake -C ${TESTDIR} buildtest-TESTS |
| 44 | } |
| 45 | |
| 46 | do_install_ptest() { |
| 47 | oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} |
| 48 | install -m 755 ${S}/test-driver ${D}${PTEST_PATH} |
| 49 | install -m 644 ${B}/config.h ${D}${PTEST_PATH} |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 50 | sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 51 | } |
| 52 | |
| 53 | RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" |
| 54 | |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 55 | RDEPENDS_${PN}-ptest_append_libc-glibc = "\ |
| 56 | locale-base-en-us.iso-8859-1 \ |
| 57 | " |
| 58 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 59 | BBCLASSEXTEND = "native" |
| 60 | TOOLCHAIN = "gcc" |