blob: 0791c654f94f9d0a8bdf65ea2aa83bb6bf5e3c85 [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "Babeltrace2 - Trace Format Babel Tower"
2DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
3HOMEPAGE = "http://babeltrace.org/"
4BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
5LICENSE = "MIT & GPLv2 & LGPLv2.1 & BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e"
7
8DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
9
10SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-2.0 \
11 file://run-ptest \
12 file://0001-tests-do-not-run-test-applications-from-.libs.patch \
13 file://0001-Make-manpages-multilib-identical.patch \
14 file://0001-fs.c-initialize-other_entry.patch \
15 "
16SRCREV = "33003c352ed56aa49e0b3df272bbab6fac36cae8"
17UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
18
19S = "${WORKDIR}/git"
20
21inherit autotools pkgconfig ptest
22
23EXTRA_OECONF = "--disable-debug-info"
24
25PACKAGECONFIG ??= "manpages"
26PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native"
27
28FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
29FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so"
30
31ASNEEDED = ""
32
33RDEPENDS_${PN}-ptest += "bash gawk python3"
34
35do_compile_ptest () {
36 make -C tests all
37}
38
39do_install_ptest () {
40 install -d "${D}${PTEST_PATH}/tests"
41
42 # Copy required files from source directory
43 for d in $(find "${S}/tests" -type d -printf '%P ') ; do
44 install -d "${D}${PTEST_PATH}/tests/$d"
45 find "${S}/tests/$d" -maxdepth 1 -executable -type f \
46 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
47 find "${S}/tests/$d" -maxdepth 1 -name *.sh \
48 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
49 find "${S}/tests/$d" -maxdepth 1 -name *.py \
50 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
51 find "${S}/tests/$d" -maxdepth 1 -name *.expect \
52 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
53 done
54 install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/"
55 cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/
56
57 # Copy the tests directory tree and the executables and
58 # Makefiles found within.
59 install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
60 for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
61 install -d "${D}${PTEST_PATH}/tests/$d"
62 find "${B}/tests/$d" -maxdepth 1 -executable -type f \
63 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
64 test -r "${B}/tests/$d/Makefile" && \
65 install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
66 find "${B}/tests/$d" -maxdepth 1 -name *.sh \
67 -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
68 done
69
70 for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
71 for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
72 cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
73 done
74 done
75
76 # Prevent attempts to update Makefiles during test runs, and
77 # silence "Making check in $SUBDIR" messages.
78 find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
79 sed -i \
80 -e '/Makefile:/,/^$/d' \
81 -e '/%: %.in/,/^$/d' \
82 -e '/echo "Making $$target in $$subdir"; \\/d' \
83 -e 's/^srcdir = \(.*\)/srcdir = ./' \
84 -e 's/^builddir = \(.*\)/builddir = ./' \
85 -e 's/^all-am:.*/all-am:/' \
86 {} +
87
88 # Substitute links to installed binaries.
89 install -d "${D}${PTEST_PATH}/src/cli/"
90 ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/
91
92 # Remove architechture specific testfiles
93 rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/*
94}