xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Babeltrace - Trace Format Babel Tower"
2*4882a593SmuzhiyunDESCRIPTION = "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."
3*4882a593SmuzhiyunHOMEPAGE = "http://babeltrace.org/"
4*4882a593SmuzhiyunBUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
5*4882a593SmuzhiyunLICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only"
6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunDEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5 \
11*4882a593Smuzhiyun	   file://run-ptest \
12*4882a593Smuzhiyun	  "
13*4882a593SmuzhiyunSRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d"
14*4882a593SmuzhiyunUPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunS = "${WORKDIR}/git"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyuninherit autotools pkgconfig ptest
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunEXTRA_OECONF = "--disable-debug-info"
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunASNEEDED = ""
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "bash gawk"
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunaddtask do_patch_ptest_path after do_patch before do_configure
27*4882a593Smuzhiyundo_patch_ptest_path () {
28*4882a593Smuzhiyun    for f in $(grep -l -r abs_top_srcdir ${S}/tests); do
29*4882a593Smuzhiyun	sed -i 's:\@abs_top_srcdir\@:${PTEST_PATH}:' ${f}
30*4882a593Smuzhiyun    done
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun    for f in $(grep -l -r abs_top_builddir ${S}/tests); do
33*4882a593Smuzhiyun	sed -i 's:\@abs_top_builddir\@:${PTEST_PATH}:' ${f}
34*4882a593Smuzhiyun    done
35*4882a593Smuzhiyun    for f in $(grep -l -r GREP ${S}/tests); do
36*4882a593Smuzhiyun	sed -i 's:\@GREP\@:grep:' ${f}
37*4882a593Smuzhiyun    done
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun    for f in $(grep -l -r SED ${S}/tests); do
40*4882a593Smuzhiyun	sed -i 's:\@SED\@:sed:' ${f}
41*4882a593Smuzhiyun    done
42*4882a593Smuzhiyun}
43*4882a593Smuzhiyun
44*4882a593Smuzhiyundo_compile_ptest () {
45*4882a593Smuzhiyun    make -C tests all
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyundo_install_ptest () {
49*4882a593Smuzhiyun    # Copy required files from source directory
50*4882a593Smuzhiyun    for f in config/tap-driver.sh config/test-driver; do
51*4882a593Smuzhiyun	install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
52*4882a593Smuzhiyun    done
53*4882a593Smuzhiyun    install -d "$f" "${D}${PTEST_PATH}/tests/ctf-traces/"
54*4882a593Smuzhiyun    cp -a ${S}/tests/ctf-traces/* ${D}${PTEST_PATH}/tests/ctf-traces/
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun    # Copy the tests directory tree and the executables and
57*4882a593Smuzhiyun    # Makefiles found within.
58*4882a593Smuzhiyun    install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
59*4882a593Smuzhiyun    for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
60*4882a593Smuzhiyun	install -d "${D}${PTEST_PATH}/tests/$d"
61*4882a593Smuzhiyun	find "${B}/tests/$d" -maxdepth 1 -executable -type f \
62*4882a593Smuzhiyun	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
63*4882a593Smuzhiyun	test -r "${B}/tests/$d/Makefile" && \
64*4882a593Smuzhiyun	    install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
65*4882a593Smuzhiyun	find "${B}/tests/$d" -maxdepth 1 -name *.sh \
66*4882a593Smuzhiyun	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
67*4882a593Smuzhiyun    done
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun    for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
70*4882a593Smuzhiyun	for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
71*4882a593Smuzhiyun	    cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
72*4882a593Smuzhiyun	done
73*4882a593Smuzhiyun    done
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun    install -D ${B}/formats/ctf/metadata/.libs/ctf-parser-test \
76*4882a593Smuzhiyun	    ${D}${PTEST_PATH}/formats/ctf/metadata/ctf-parser-test
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun    # Prevent attempts to update Makefiles during test runs, and
79*4882a593Smuzhiyun    # silence "Making check in $SUBDIR" messages.
80*4882a593Smuzhiyun    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
81*4882a593Smuzhiyun	 sed -i \
82*4882a593Smuzhiyun	 -e '/Makefile:/,/^$/d' \
83*4882a593Smuzhiyun	 -e '/$(check_SCRIPTS)/s/^/#/' \
84*4882a593Smuzhiyun	 -e '/%: %.in/,/^$/d' \
85*4882a593Smuzhiyun	 -e '/echo "Making $$target in $$subdir"; \\/d' \
86*4882a593Smuzhiyun	 -e 's/^srcdir = \(.*\)/srcdir = ./' \
87*4882a593Smuzhiyun	 -e 's/^builddir = \(.*\)/builddir = ./' \
88*4882a593Smuzhiyun	 -e 's/^all-am:.*/all-am:/' \
89*4882a593Smuzhiyun	 {} +
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun    # Remove path to babeltrace.
92*4882a593Smuzhiyun    for f in $(grep -l -r "^BABELTRACE_BIN" ${D}${PTEST_PATH}); do
93*4882a593Smuzhiyun	sed -i 's:^BABELTRACE_BIN.*:BABELTRACE_BIN=/usr/bin/babeltrace:' ${f}
94*4882a593Smuzhiyun    done
95*4882a593Smuzhiyun    for f in $(grep -l -r "^BTBIN" ${D}${PTEST_PATH}); do
96*4882a593Smuzhiyun	sed -i 's:^BTBIN.*:BTBIN=/usr/bin/babeltrace:' ${f}
97*4882a593Smuzhiyun    done
98*4882a593Smuzhiyun}
99