[OE-core] [PATCH 24/24] systemtap: update to 3.1
Alexander Kanavin
alexander.kanavin at linux.intel.com
Wed Feb 22 14:51:19 UTC 2017
Removed patches are in upstream.
Rebase monitor-option.patch and no-msgfmt-check.patch
Add support for python 3 probes
(this necessitates the 0001-Do-not-let-configure-write-a-python-location-into-th.patch)
Add perl to RDEPENDS to fix a QA warning about one of the installed files.
Signed-off-by: Alexander Kanavin <alexander.kanavin at linux.intel.com>
---
...configure-write-a-python-location-into-th.patch | 25 +++++++++++++
.../systemtap/systemtap/fix-monitor-linking.patch | 41 ----------------------
.../systemtap/systemtap/monitor-option.patch | 26 ++++++++++----
.../systemtap/systemtap/no-msgfmt-check.patch | 22 ++++++++++--
.../systemtap/obsolete_automake_macros.patch | 15 --------
meta/recipes-kernel/systemtap/systemtap_git.bb | 9 ++---
meta/recipes-kernel/systemtap/systemtap_git.inc | 7 ++--
7 files changed, 72 insertions(+), 73 deletions(-)
create mode 100644 meta/recipes-kernel/systemtap/systemtap/0001-Do-not-let-configure-write-a-python-location-into-th.patch
delete mode 100644 meta/recipes-kernel/systemtap/systemtap/fix-monitor-linking.patch
delete mode 100644 meta/recipes-kernel/systemtap/systemtap/obsolete_automake_macros.patch
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-Do-not-let-configure-write-a-python-location-into-th.patch b/meta/recipes-kernel/systemtap/systemtap/0001-Do-not-let-configure-write-a-python-location-into-th.patch
new file mode 100644
index 00000000000..742b1187fc3
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-Do-not-let-configure-write-a-python-location-into-th.patch
@@ -0,0 +1,25 @@
+From ab29615ed6c2e779b472903564dc683dc1015de7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin at gmail.com>
+Date: Wed, 22 Feb 2017 13:37:33 +0200
+Subject: [PATCH] Do not let configure write a python location into the dtrace
+ binary
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
+---
+ dtrace.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dtrace.in b/dtrace.in
+index 5e1cf8079..a24229cbc 100644
+--- a/dtrace.in
++++ b/dtrace.in
+@@ -1,4 +1,4 @@
+-#!@preferred_python@
++#!/usr/bin/python3
+ # vim: et sta sts=4 sw=4 ts=8
+
+ # This handles the systemtap equivalent of
+--
+2.11.0
+
diff --git a/meta/recipes-kernel/systemtap/systemtap/fix-monitor-linking.patch b/meta/recipes-kernel/systemtap/systemtap/fix-monitor-linking.patch
deleted file mode 100644
index 2bf0742a1df..00000000000
--- a/meta/recipes-kernel/systemtap/systemtap/fix-monitor-linking.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <ross.burton at intel.com>
-
-From d940aa0079c253b958cf9158e9ec7922ecf464f9 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton at intel.com>
-Date: Wed, 9 Nov 2016 00:00:48 +0000
-Subject: [PATCH] staprun: fix linking if monitor is enabled
-
-If the monitor is enabled, monitor.c needs to link against json-c and ncurses.
-Instead of adding these linker flags to AM_CFLAGS (global CC flags) add them to
-stapio_LDADD.
-
-Apart from being the "right" thing to do, this fixes build failures on systems
-such as current Ubuntu (which defaults to using --as-needed and similar) where
-link order is important.
----
- staprun/Makefile.am | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/staprun/Makefile.am b/staprun/Makefile.am
-index 63d4088..66b3e21 100644
---- a/staprun/Makefile.am
-+++ b/staprun/Makefile.am
-@@ -42,12 +42,11 @@ staprun_CXXFLAGS += $(nss_CFLAGS)
- staprun_LDADD += $(nss_LIBS)
- endif
-
--if HAVE_MONITOR_LIBS
--AM_CFLAGS += $(jsonc_LIBS) $(ncurses_LIBS)
--endif
--
- stapio_SOURCES = stapio.c mainloop.c common.c ctl.c relay.c relay_old.c monitor.c
- stapio_LDADD = libstrfloctime.a -lpthread
-+if HAVE_MONITOR_LIBS
-+stapio_LDADD += $(jsonc_LIBS) $(ncurses_LIBS)
-+endif
-
- man_MANS = staprun.8
-
---
-2.8.1
diff --git a/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch b/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
index 7d43a79e21a..b7ee0701b1a 100644
--- a/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
+++ b/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
@@ -1,21 +1,30 @@
+From 93fc4744fedf6fc593ee656968da97f7b1862ada Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton at intel.com>
+Date: Tue, 4 Oct 2016 16:37:53 +0100
+Subject: [PATCH 4/6] systemtap: rationalise dependencies
+
Add an option to explicitly disable the monitor (and therefore the dependency on
json-c and ncurses).
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton at intel.com>
+---
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
diff --git a/configure.ac b/configure.ac
-index cd781a2..e56079a 100644
+index 6bd0c5fc4..2ea9b3cbf 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -570,13 +574,16 @@ dnl See if we have enough libraries and tools to build the virt server
- fi
- AM_CONDITIONAL([BUILD_VIRT], [test "${have_libvirt}" == "yes" -a "${have_libxml2}" == "yes" -a "$enable_virt" != "no"])
-
+@@ -752,13 +752,16 @@ dnl We want either (or both) python probe support.
+ AM_CONDITIONAL([HAVE_PYTHON_PROBES],
+ [test "x$have_python2_support" = "xyes" -o "x$have_python3_support" = "xyes"])
+
+AC_ARG_ENABLE([monitor], AS_HELP_STRING([--disable-monitor],[Disable monitor]))
+if test "$enable_monitor" != "no"; then
dnl Check for presence of json-c and ncurses for use in monitor mode
- PKG_CHECK_MODULES([jsonc], [json-c], [have_jsonc=yes], [have_jsonc=no])
+ PKG_CHECK_MODULES([jsonc], [json-c >= 0.12], [have_jsonc=yes], [have_jsonc=no])
PKG_CHECK_MODULES([ncurses], [ncurses], [have_ncurses=yes], [have_ncurses=no])
-AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes"])
if test "${have_jsonc}" == "yes" -a "${have_ncurses}" == yes; then
@@ -23,6 +32,9 @@ index cd781a2..e56079a 100644
fi
+fi
+AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes" -a "$enable_monitor" != "no"])
-
+
AC_CACHE_CHECK([for assembler .section "?" flags support], stap_cv_sectionq, [
old_CFLAGS="$CFLAGS"
+--
+2.11.0
+
diff --git a/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch b/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
index 471e62c56bb..2c860b19e51 100644
--- a/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
+++ b/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
@@ -1,15 +1,33 @@
+From 43f1b04449bb1cf7e0092263f1c2a25f3fca08ef Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton at intel.com>
+Date: Tue, 8 Nov 2016 23:07:41 +0000
+Subject: [PATCH 5/6] systemtap: remove explicit msgfmt check
+
There is no need to explicitly check that msgfmt was found as the gettext macros
handle this for us if NLS is enabled.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton at intel.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
diff --git a/configure.ac b/configure.ac
-index e56079a..284bbe0 100644
+index 2ea9b3cbf..95417f59c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -39,4 +38,0 @@ AM_GNU_GETTEXT_VERSION([0.19.4])
+@@ -36,10 +36,6 @@ AC_CHECK_FUNCS(openat)
+ AM_GNU_GETTEXT(external)
+ AM_GNU_GETTEXT_VERSION([0.19.4])
+
-if test "x$GMSGFMT" = "x:"; then
- AC_MSG_ERROR([missing gnu /usr/bin/msgfmt])
-fi
-
+ # We want the 'PYTHON' varible to be python version 2. We also want
+ # our custom 'PYTHON3' varible to be python version 3.
+ #
+--
+2.11.0
+
diff --git a/meta/recipes-kernel/systemtap/systemtap/obsolete_automake_macros.patch b/meta/recipes-kernel/systemtap/systemtap/obsolete_automake_macros.patch
deleted file mode 100644
index 988cda4f0c8..00000000000
--- a/meta/recipes-kernel/systemtap/systemtap/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Marko Lindqvist <cazfi74 at gmail.com>
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -19,7 +19,6 @@ AC_PROG_LN_S
- AC_PROG_CC
- AC_PROG_CXX
- AC_PROG_CPP
--AM_PROG_CC_STDC
- AM_PROG_CC_C_O
- AC_PROG_RANLIB
- AC_OBJEXT
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
index 43bf69e8778..fed368a38b7 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -4,12 +4,12 @@ require systemtap_git.inc
DEPENDS = "boost elfutils"
-RDEPENDS_${PN} += "python3-core bash"
+RDEPENDS_${PN} += "python3-core bash perl"
EXTRA_OECONF += "--with-libelf=${STAGING_DIR_TARGET} --without-rpm \
--without-nss --without-avahi --without-dyninst \
--disable-server --disable-grapher --enable-prologues \
- --with-python3 \
+ --with-python3 --without-python2-probes \
ac_cv_prog_have_javac=no \
ac_cv_prog_have_jar=no "
@@ -17,11 +17,12 @@ STAP_DOCS ?= "--disable-docs --disable-publican --disable-refdocs"
EXTRA_OECONF += "${STAP_DOCS} "
-PACKAGECONFIG ??= "sqlite monitor"
+PACKAGECONFIG ??= "sqlite monitor python3-probes"
PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3"
PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c"
+PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,python3-setuptools-native"
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig distutils3-base
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index a0f0e6859a3..7cebd8f8bc0 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,16 +1,15 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "616ec7a0b916df7785d911b824c3df6eb022b213"
-PV = "3.0"
+SRCREV = "b8ea350dc13adb6190d9044a5b80110a4c441270"
+PV = "3.1"
SRC_URI = "git://sourceware.org/git/systemtap.git \
- file://obsolete_automake_macros.patch \
file://system_map_location.patch \
file://configure-allow-to-disable-libvirt.patch \
file://x32_abi_time.patch \
file://monitor-option.patch \
file://no-msgfmt-check.patch \
- file://fix-monitor-linking.patch \
+ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
"
# systemtap doesn't support mips
--
2.11.0
More information about the Openembedded-core
mailing list