All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Ross Burton <ross.burton@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 2/2] systemtap: rationalise dependencies
Date: Tue, 4 Oct 2016 19:03:50 +0200	[thread overview]
Message-ID: <20161004170350.GA2919@jama> (raw)
In-Reply-To: <1475595473-19221-2-git-send-email-ross.burton@intel.com>

[-- Attachment #1: Type: text/plain, Size: 5150 bytes --]

On Tue, Oct 04, 2016 at 04:37:53PM +0100, Ross Burton wrote:
> Boost is an optional dependency but avoid build non-determinism by adding it as
> DEPENDS.  It is only for the shared pointer types so can be disabled explicitly
> if required.
> 
> Turn sqlite into a PACKAGECONFIG.
> 
> Add a patch for the "monitor" feature to control the optional dependencies on
> ncurses and json-c. Previously this was enabled for target only but enable it
> everwhere now that json-c is available for native/nativesdk.
> 
> Of course all of this was predicated about systemtap needing systemtap-native to
> be built, but it turns out that this dependency is due to oe-core 507bd2 which
> adds systemtap-native as DEPENDS for convenience.  Remove this dependency, if
> the user wants systemtap-native then they can build it explicitly.

Thanks!

Acked-by: Martin Jansa <Martin.Jansa@gmail.com>

> 
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  .../systemtap/systemtap/monitor-option.patch       | 28 ++++++++++++++++++++++
>  meta/recipes-kernel/systemtap/systemtap_git.bb     |  8 +++----
>  meta/recipes-kernel/systemtap/systemtap_git.inc    |  1 +
>  3 files changed, 33 insertions(+), 4 deletions(-)
>  create mode 100644 meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
> 
> diff --git a/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch b/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
> new file mode 100644
> index 0000000..7d43a79
> --- /dev/null
> +++ b/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
> @@ -0,0 +1,28 @@
> +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@intel.com>
> +
> +diff --git a/configure.ac b/configure.ac
> +index cd781a2..e56079a 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"])
> +
> ++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([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
> +   AC_DEFINE([HAVE_MONITOR_LIBS],[1],[Define to 1 if json-c and ncurses libraries are installed])
> + 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"
> diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
> index da30fa5..43bf69e 100644
> --- a/meta/recipes-kernel/systemtap/systemtap_git.bb
> +++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
> @@ -2,9 +2,7 @@ SUMMARY = "Script-directed dynamic tracing and performance analysis tool for Lin
>  
>  require systemtap_git.inc
>  
> -DEPENDS = "elfutils sqlite3 systemtap-native ncurses json-c"
> -DEPENDS_class-native = "elfutils-native sqlite3-native gettext-native"
> -DEPENDS_class-nativesdk = "nativesdk-elfutils nativesdk-sqlite3 nativesdk-gettext"
> +DEPENDS = "boost elfutils"
>  
>  RDEPENDS_${PN} += "python3-core bash"
>  
> @@ -19,8 +17,10 @@ STAP_DOCS ?= "--disable-docs --disable-publican --disable-refdocs"
>  
>  EXTRA_OECONF += "${STAP_DOCS} "
>  
> -PACKAGECONFIG ??= ""
> +PACKAGECONFIG ??= "sqlite monitor"
>  PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt"
> +PACKAGECONFIG[sqlite] = "--enable-sqlite,--disable-sqlite,sqlite3"
> +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor,ncurses json-c"
>  
>  inherit autotools gettext pkgconfig
>  
> diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
> index ce976ed..304eb99 100644
> --- a/meta/recipes-kernel/systemtap/systemtap_git.inc
> +++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
> @@ -8,6 +8,7 @@ SRC_URI = "git://sourceware.org/git/systemtap.git \
>             file://system_map_location.patch \
>             file://configure-allow-to-disable-libvirt.patch \
>             file://x32_abi_time.patch \
> +           file://monitor-option.patch \
>            "
>  
>  # systemtap doesn't support mips
> -- 
> 2.8.1
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 169 bytes --]

      reply	other threads:[~2016-10-04 17:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-04 15:37 [PATCH 1/2] json-c: add BBCLASSEXTEND for native and nativesdk Ross Burton
2016-10-04 15:37 ` [PATCH 2/2] systemtap: rationalise dependencies Ross Burton
2016-10-04 17:03   ` Martin Jansa [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161004170350.GA2919@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=ross.burton@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.