xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "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 & GPL-2.0-only & LGPL-2.1-only & 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.efficios.com/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           "
15SRCREV = "23e8cf4e6fdc1d0b230e964dafac08a57e6228e6"
16UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
17
18S = "${WORKDIR}/git"
19
20inherit autotools pkgconfig ptest python3targetconfig
21
22EXTRA_OECONF = "--disable-debug-info --disable-Werror"
23
24PACKAGECONFIG ??= "manpages"
25PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native"
26
27FILES:${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
28FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so"
29
30ASNEEDED = ""
31
32RDEPENDS:${PN}-ptest += "bash gawk python3"
33
34do_compile_ptest () {
35    make -C tests all
36}
37
38do_install_ptest () {
39    install -d "${D}${PTEST_PATH}/tests"
40
41    # Copy required files from source directory
42    for d in $(find "${S}/tests" -type d -printf '%P ') ; do
43	install -d "${D}${PTEST_PATH}/tests/$d"
44	find "${S}/tests/$d" -maxdepth 1 -executable -type f \
45	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
46	find "${S}/tests/$d" -maxdepth 1 -name *.sh \
47	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
48	find "${S}/tests/$d" -maxdepth 1 -name *.py \
49	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
50	find "${S}/tests/$d" -maxdepth 1 -name *.expect \
51	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
52    done
53    install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/"
54    cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/
55
56    # Copy the tests directory tree and the executables and
57    # Makefiles found within.
58    install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
59    for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
60	install -d "${D}${PTEST_PATH}/tests/$d"
61	find "${B}/tests/$d" -maxdepth 1 -executable -type f \
62	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
63	test -r "${B}/tests/$d/Makefile" && \
64	    install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
65	find "${B}/tests/$d" -maxdepth 1 -name *.sh \
66	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
67    done
68
69    for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
70	for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
71	    cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
72	done
73    done
74
75    # Prevent attempts to update Makefiles during test runs, and
76    # silence "Making check in $SUBDIR" messages.
77    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
78	 sed -i \
79	 -e '/Makefile:/,/^$/d' \
80	 -e '/%: %.in/,/^$/d' \
81	 -e '/echo "Making $$target in $$subdir"; \\/d' \
82	 -e 's/^srcdir = \(.*\)/srcdir = ./' \
83	 -e 's/^builddir = \(.*\)/builddir = ./' \
84	 -e 's/^all-am:.*/all-am:/' \
85	 {} +
86
87    # Substitute links to installed binaries.
88    install -d "${D}${PTEST_PATH}/src/cli/"
89    ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/
90
91    # Remove architechture specific testfiles
92    rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/*
93}
94