Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/1] Added new variable BBINCLUDES
@ 2012-02-24  3:00 Lianhao Lu
  2012-02-24  3:00 ` [PATCH 1/1] bitbake.conf: " Lianhao Lu
  0 siblings, 1 reply; 3+ messages in thread
From: Lianhao Lu @ 2012-02-24  3:00 UTC (permalink / raw)
  To: openembedded-core

This patch added a new variable BBINCLUDES to show the file dependency 
information. This kind of information could be used by others, i.e. recipe 
editors. 

The following changes since commit a1f23a7cc527afdd1ce6cc7cd6083ee78fde09b3:
  Otavio Salvador (1):
        update-rc.d.bbclass: do nothing for extended cross packages

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib llu/bbincludes
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=llu/bbincludes

Lianhao Lu (1):
  bitbake.conf: Added new variable BBINCLUDES

 meta/conf/bitbake.conf |    2 ++
 meta/lib/oe/utils.py   |    9 +++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] bitbake.conf: Added new variable BBINCLUDES
  2012-02-24  3:00 [PATCH 0/1] Added new variable BBINCLUDES Lianhao Lu
@ 2012-02-24  3:00 ` Lianhao Lu
  2012-02-24 16:29   ` Richard Purdie
  0 siblings, 1 reply; 3+ messages in thread
From: Lianhao Lu @ 2012-02-24  3:00 UTC (permalink / raw)
  To: openembedded-core

The new variable BBINCLUDES contains the file dependency information. It
exposes the bitbake internal variable '__depends' and '__base_depends'.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/conf/bitbake.conf |    2 ++
 meta/lib/oe/utils.py   |    9 +++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 90e5f7a..04851e5 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -731,3 +731,5 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_
 
 MLPREFIX ??= ""
 MULTILIB_VARIANTS ??= ""
+
+BBINCLUDES = "${@oe.utils.get_file_depends(d)}"
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 02d5442..b4dcc4f 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -88,3 +88,12 @@ def param_bool(cfg, field, dflt = None):
 def inherits(d, *classes):
     """Return True if the metadata inherits any of the specified classes"""
     return any(bb.data.inherits_class(cls, d) for cls in classes)
+
+def get_file_depends(d):
+    '''Return the dependent files'''
+    dep_files = []
+    depends = d.getVar('__depends', True) or set()
+    depends = depends.union(d.getVar('__base_depends', True) or set())
+    for (fn, ctime) in depends:
+        dep_files.append(os.path.abspath(fn))
+    return " ".join(dep_files)
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] bitbake.conf: Added new variable BBINCLUDES
  2012-02-24  3:00 ` [PATCH 1/1] bitbake.conf: " Lianhao Lu
@ 2012-02-24 16:29   ` Richard Purdie
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Purdie @ 2012-02-24 16:29 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Fri, 2012-02-24 at 11:00 +0800, Lianhao Lu wrote:
> The new variable BBINCLUDES contains the file dependency information. It
> exposes the bitbake internal variable '__depends' and '__base_depends'.
> 
> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
> ---
>  meta/conf/bitbake.conf |    2 ++
>  meta/lib/oe/utils.py   |    9 +++++++++
>  2 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 90e5f7a..04851e5 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -731,3 +731,5 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_
>  
>  MLPREFIX ??= ""
>  MULTILIB_VARIANTS ??= ""
> +
> +BBINCLUDES = "${@oe.utils.get_file_depends(d)}"
> diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
> index 02d5442..b4dcc4f 100644
> --- a/meta/lib/oe/utils.py
> +++ b/meta/lib/oe/utils.py
> @@ -88,3 +88,12 @@ def param_bool(cfg, field, dflt = None):
>  def inherits(d, *classes):
>      """Return True if the metadata inherits any of the specified classes"""
>      return any(bb.data.inherits_class(cls, d) for cls in classes)
> +
> +def get_file_depends(d):
> +    '''Return the dependent files'''
> +    dep_files = []
> +    depends = d.getVar('__depends', True) or set()
> +    depends = depends.union(d.getVar('__base_depends', True) or set())
> +    for (fn, ctime) in depends:
> +        dep_files.append(os.path.abspath(fn))
> +    return " ".join(dep_files)


My big concern with this is that we're teaching lib/oe about bitbake
internals like the layout and existence of those two variables. I think
we need to do this within bitbake, maybe in ast.py:finalize() just
before we fire the RecipeParsed() event.

Having thought more about it, I think we should call this variable
BBINCLUDED since that more accurately reflects its contents.

Cheers,

Richard







^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-02-24 16:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-24  3:00 [PATCH 0/1] Added new variable BBINCLUDES Lianhao Lu
2012-02-24  3:00 ` [PATCH 1/1] bitbake.conf: " Lianhao Lu
2012-02-24 16:29   ` Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox