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 <kamen...@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

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to