SECTION = "devel" SUMMARY = "Linux Trace Toolkit Control" DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \ to extract program execution details from the Linux operating system \ and interpret them." LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://lgpl-2.1.txt;md5=0f0d71500e6a57fd24d825f33242b9ca" DEPENDS = "liburcu popt libxml2 util-linux" RDEPENDS_${PN} = "libgcc" RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps" # babelstats.pl wants getopt-long RDEPENDS_${PN}-ptest += "perl-module-getopt-long" SRCREV = "d11e0dba0df9024b8613c51e167a379b91e8b20b" PV = "2.8.1+git${SRCPV}" PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ " PACKAGECONFIG ??= "lttng-ust" PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" PACKAGECONFIG[kmod] = "--enable-kmod, --disable-kmod, kmod" PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native" PACKAGECONFIG_remove_libc-musl = "lttng-ust" SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.8 \ file://0001-Fix-error.h-common-error.h.patch \ file://run-ptest" S = "${WORKDIR}/git" inherit autotools-brokensep ptest pkgconfig useradd python3-dir USERADD_PACKAGES = "${PN}" GROUPADD_PARAM_${PN} = "tracing" FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ ${PYTHON_SITEPACKAGES_DIR}/*" FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" # Since files are installed into ${libdir}/lttng/libexec we match # the libexec insane test so skip it. # Python module needs to keep _lttng.so INSANE_SKIP_${PN} = "libexec dev-so" INSANE_SKIP_${PN}-dbg = "libexec" do_configure_prepend () { # Delete a shipped m4 file that overrides our patched one rm -f ${S}/m4/libxml.m4 } do_install_ptest () { mkdir -p ${D}${PTEST_PATH} cp -a -T ${B} ${D}${PTEST_PATH} # Prevent attempts to update Makefiles during test runs, and # silence "Making check in $SUBDIR" messages. find ${D}${PTEST_PATH} -name Makefile -type f -exec \ sed -i -e 's!^Makefile:!_Makefile:!' \ -e '/echo "Making $$target in $$subdir"; \\/d' {} + # Prevent attempts to update version.h during test runs. sed -i -e '/^\.PHONY: version\.h$/d' ${D}${PTEST_PATH}/include/Makefile # Silence "Making check in $SUBDIR" messages. find ${D}${PTEST_PATH} -name Makefile -type f -exec \ sed -i -e '/echo "Making $$target in $$subdir"; \\/d' {} + # Substitute links to installed binaries. for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd ; do orig="${D}${PTEST_PATH}/src/bin/${prog}/${prog}" rm "$orig" case "$prog" in lttng-consumerd) ln -s "${libdir}/lttng/libexec/$prog" "$orig" ;; *) ln -s "${bindir}/$prog" "$orig" ;; esac done # Remove libtool artifacts. find ${D}${PTEST_PATH} \( -name '*.l[ao]' -o -name '*.lai' \) -delete # Remove object files and archives. find ${D}${PTEST_PATH} -name '*.[oa]' -type f -delete # Remove Makefile.am and Makefile.in. find ${D}${PTEST_PATH} -name 'Makefile.*' -type f -delete # Remove autom4te.cache. rm -rf ${D}${PTEST_PATH}/autom4te.cache # Replace libtool wrapper scripts (which won't work on the # target) with their corresponding binaries. for prog in unit/ini_config/ini_config \ regression/tools/live/live_test \ regression/tools/health/health_check ; do basename=${prog##*/} ldir=${D}${PTEST_PATH}/tests/${prog%/*} mv -f ${ldir}/.libs/${basename} ${ldir} done # checkpatch.pl is unneeded on target and causes file-rdeps QA # warnings. rm -f ${D}${PTEST_PATH}/extras/checkpatch.pl # Remove built libraries as they confuse the packages' runtime dependency resolution rm -rf ${D}${PTEST_PATH}/src/lib/lttng-ctl/.libs/ }