[OE-core] [RFC PATCH 4/5] systemtap: introduce utils variant of systemtap package build

Victor Kamensky kamensky at cisco.com
Tue Mar 6 17:50:40 UTC 2018


In case of small target images it is too expensive to include
full stap package into the image. Because default systemtap
package include SystemTap translater and have very deep dependencies
on variety of libraries. And in cross compiling environment
compilation of SystemTap kernel modules can happen on host for
a given target using --sysroot and other proper options.

In order to deploy resulting SystemTap .ko module, one need small
set of SystemTap runtime tools like staprun and stapio.

systemtap-utils introduces special "small" variant of systemtap
build where only SystemTap run-time utilties are built. As result
addition on target is quite small.

Signed-off-by: Victor Kamensky <kamensky at cisco.com>
---
 .../systemtap/systemtap-utils_git.bb               | 31 ++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 meta/recipes-kernel/systemtap/systemtap-utils_git.bb

diff --git a/meta/recipes-kernel/systemtap/systemtap-utils_git.bb b/meta/recipes-kernel/systemtap/systemtap-utils_git.bb
new file mode 100644
index 0000000..3359257
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap-utils_git.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Small set only runtime utilities for SystemTap"
+HOMEPAGE = "https://sourceware.org/systemtap/"
+
+require systemtap_git.inc
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:"
+
+DEPENDS = "elfutils"
+
+# should not be used along with complete systemtap
+RCONFLICTS_${PN} = "systemtap"
+
+EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
+            --without-nss --without-avahi --without-dyninst \
+            --disable-server --disable-grapher --enable-prologues \
+            --with-python3 --without-python2-probes \
+            --disable-sdt-probes --disable-translator \
+            --disable-libvirt --disable-sqlite --disable-monitor \
+            --without-python3-probes \
+            --disable-docs --disable-publican --disable-refdocs \
+            ac_cv_prog_have_javac=no \
+            ac_cv_prog_have_jar=no "
+
+do_install_append () {
+            rm -rf ${D}${datadir}/systemtap
+            rm -rf ${D}${includedir}
+            # remove bash dependency we don't need it anyway
+            rm ${D}${libexecdir}/systemtap/stap-env
+}
+
+inherit autotools gettext
-- 
2.7.4




More information about the Openembedded-core mailing list