hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SUMMARY = "UProbes kernel module for SystemTap"
HOMEPAGE = "https://sourceware.org/systemtap/"
require systemtap_git.inc
 
DEPENDS = "systemtap virtual/kernel"
 
# On systems without CONFIG_UTRACE, this package is empty.
ALLOW_EMPTY:${PN} = "1"
 
inherit module-base gettext
 
FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemtap:"
 
FILES:${PN} += "${datadir}/systemtap/runtime/uprobes"
 
# Compile and install the uprobes kernel module on machines with utrace
# support.  Note that staprun expects it in the systemtap/runtime directory,
# not in /lib/modules.
do_compile() {
   if grep -q "CONFIG_UTRACE=y" ${STAGING_KERNEL_BUILDDIR}/.config
   then
       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
       oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
              AR="${KERNEL_AR}" \
              -C ${STAGING_KERNEL_DIR} scripts
       oe_runmake KDIR=${STAGING_KERNEL_DIR}   \
              M="${S}/runtime/uprobes/" \
              CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
              AR="${KERNEL_AR}" \
              -C "${S}/runtime/uprobes/"
   fi
}
 
do_install() {
   if [ -e "${S}/runtime/uprobes/uprobes.ko" ]
   then
       install -d ${D}${datadir}/systemtap/runtime/uprobes/
       install -m 0644 ${S}/runtime/uprobes/uprobes.ko ${D}${datadir}/systemtap/runtime/uprobes/
   fi
}