* [RFC PATCH 0/1] Tracking parsed configuration files v2
@ 2011-08-01 23:22 Joshua Lock
2011-08-01 23:22 ` [RFC PATCH 1/1] cooker: store a list of parsed configuration files Joshua Lock
0 siblings, 1 reply; 4+ messages in thread
From: Joshua Lock @ 2011-08-01 23:22 UTC (permalink / raw)
To: bitbake-devel
Since v1 I've switched to hooking into the parser itself and storeing a list
of parsed configuration files as the parsing happens.
Hopefully a little less ugly and certainly a lot less hacky than the last
attempt.
Please review the following changes for suitability for inclusion. If you have
any objections or suggestions for improvement, please respond to the patches. If
you agree with the changes, please provide your Acked-by.
The following changes since commit c9dd2592434338bdddb3cc6f42e760c86fa9e6bb:
hob: fix save/restore of toolchain preferences (2011-07-28 10:58:07 -0700)
are available in the git repository at:
git://github.com/incandescant/bitbake configfiles
https://github.com/incandescant/bitbake/tree/configfiles
Joshua Lock (1):
cooker: store a list of parsed configuration files
lib/bb/cooker.py | 3 +++
lib/bb/parse/parse_py/ConfHandler.py | 3 +++
2 files changed, 6 insertions(+), 0 deletions(-)
--
1.7.6
^ permalink raw reply [flat|nested] 4+ messages in thread
* [RFC PATCH 1/1] cooker: store a list of parsed configuration files
2011-08-01 23:22 [RFC PATCH 0/1] Tracking parsed configuration files v2 Joshua Lock
@ 2011-08-01 23:22 ` Joshua Lock
2011-08-02 13:37 ` Richard Purdie
0 siblings, 1 reply; 4+ messages in thread
From: Joshua Lock @ 2011-08-01 23:22 UTC (permalink / raw)
To: bitbake-devel
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
lib/bb/cooker.py | 3 +++
lib/bb/parse/parse_py/ConfHandler.py | 3 +++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 025dfe4..c7142e1 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -772,6 +772,9 @@ class BBCooker:
for p in postfiles:
data = _parse(p, data)
+ self.configuration.parsed_configuration = (bb.data.getVar('PARSED_CONF', data) or '').split(':')
+ bb.data.delVar('PARSED_CONF', data)
+
# Handle any INHERITs and inherit the base class
bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split()
for bbclass in bbclasses:
diff --git a/lib/bb/parse/parse_py/ConfHandler.py b/lib/bb/parse/parse_py/ConfHandler.py
index 102c0e9..22686b7 100644
--- a/lib/bb/parse/parse_py/ConfHandler.py
+++ b/lib/bb/parse/parse_py/ConfHandler.py
@@ -103,6 +103,9 @@ def handle(fn, data, include):
# DONE WITH PARSING... time to evaluate
bb.data.setVar('FILE', fn, data)
+ conf_files = bb.data.getVar('PARSED_CONF', data) or ''
+ bb.data.setVar('PARSED_CONF', "%s:%s" % (conf_files, abs_fn), data)
+
statements.eval(data)
if oldfile:
bb.data.setVar('FILE', oldfile, data)
--
1.7.6
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [RFC PATCH 1/1] cooker: store a list of parsed configuration files
2011-08-01 23:22 ` [RFC PATCH 1/1] cooker: store a list of parsed configuration files Joshua Lock
@ 2011-08-02 13:37 ` Richard Purdie
2011-08-02 18:36 ` Joshua Lock
0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2011-08-02 13:37 UTC (permalink / raw)
To: Joshua Lock; +Cc: bitbake-devel
On Mon, 2011-08-01 at 16:22 -0700, Joshua Lock wrote:
> Signed-off-by: Joshua Lock <josh@linux.intel.com>
> ---
> lib/bb/cooker.py | 3 +++
> lib/bb/parse/parse_py/ConfHandler.py | 3 +++
> 2 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
> index 025dfe4..c7142e1 100644
> --- a/lib/bb/cooker.py
> +++ b/lib/bb/cooker.py
> @@ -772,6 +772,9 @@ class BBCooker:
> for p in postfiles:
> data = _parse(p, data)
>
> + self.configuration.parsed_configuration = (bb.data.getVar('PARSED_CONF', data) or '').split(':')
> + bb.data.delVar('PARSED_CONF', data)
> +
> # Handle any INHERITs and inherit the base class
> bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split()
> for bbclass in bbclasses:
> diff --git a/lib/bb/parse/parse_py/ConfHandler.py b/lib/bb/parse/parse_py/ConfHandler.py
> index 102c0e9..22686b7 100644
> --- a/lib/bb/parse/parse_py/ConfHandler.py
> +++ b/lib/bb/parse/parse_py/ConfHandler.py
> @@ -103,6 +103,9 @@ def handle(fn, data, include):
>
> # DONE WITH PARSING... time to evaluate
> bb.data.setVar('FILE', fn, data)
> + conf_files = bb.data.getVar('PARSED_CONF', data) or ''
> + bb.data.setVar('PARSED_CONF', "%s:%s" % (conf_files, abs_fn), data)
> +
> statements.eval(data)
> if oldfile:
> bb.data.setVar('FILE', oldfile, data)
Hmm, this isn't particularly nice :/
At the very least call the variable __BB<something> to indicate its
internal.
Did you find and have a look at the internal __depends and
__base_depends variables?
Cheers,
Richard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH 1/1] cooker: store a list of parsed configuration files
2011-08-02 13:37 ` Richard Purdie
@ 2011-08-02 18:36 ` Joshua Lock
0 siblings, 0 replies; 4+ messages in thread
From: Joshua Lock @ 2011-08-02 18:36 UTC (permalink / raw)
To: Richard Purdie; +Cc: bitbake-devel
On Tue, 2011-08-02 at 14:37 +0100, Richard Purdie wrote:
> On Mon, 2011-08-01 at 16:22 -0700, Joshua Lock wrote:
> > Signed-off-by: Joshua Lock <josh@linux.intel.com>
> > ---
> > lib/bb/cooker.py | 3 +++
> > lib/bb/parse/parse_py/ConfHandler.py | 3 +++
> > 2 files changed, 6 insertions(+), 0 deletions(-)
> >
> > diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
> > index 025dfe4..c7142e1 100644
> > --- a/lib/bb/cooker.py
> > +++ b/lib/bb/cooker.py
> > @@ -772,6 +772,9 @@ class BBCooker:
> > for p in postfiles:
> > data = _parse(p, data)
> >
> > + self.configuration.parsed_configuration = (bb.data.getVar('PARSED_CONF', data) or '').split(':')
> > + bb.data.delVar('PARSED_CONF', data)
> > +
> > # Handle any INHERITs and inherit the base class
> > bbclasses = ["base"] + (data.getVar('INHERIT', True) or "").split()
> > for bbclass in bbclasses:
> > diff --git a/lib/bb/parse/parse_py/ConfHandler.py b/lib/bb/parse/parse_py/ConfHandler.py
> > index 102c0e9..22686b7 100644
> > --- a/lib/bb/parse/parse_py/ConfHandler.py
> > +++ b/lib/bb/parse/parse_py/ConfHandler.py
> > @@ -103,6 +103,9 @@ def handle(fn, data, include):
> >
> > # DONE WITH PARSING... time to evaluate
> > bb.data.setVar('FILE', fn, data)
> > + conf_files = bb.data.getVar('PARSED_CONF', data) or ''
> > + bb.data.setVar('PARSED_CONF', "%s:%s" % (conf_files, abs_fn), data)
> > +
> > statements.eval(data)
> > if oldfile:
> > bb.data.setVar('FILE', oldfile, data)
>
> Hmm, this isn't particularly nice :/
>
> At the very least call the variable __BB<something> to indicate its
> internal.
>
> Did you find and have a look at the internal __depends and
> __base_depends variables?
I see them, that does seem like a more explicit and therefore cleaner
way of achieving this.
There'll be a series out shortly inspired by that and using an internal
namespace on the variable.
Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-08-02 18:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-01 23:22 [RFC PATCH 0/1] Tracking parsed configuration files v2 Joshua Lock
2011-08-01 23:22 ` [RFC PATCH 1/1] cooker: store a list of parsed configuration files Joshua Lock
2011-08-02 13:37 ` Richard Purdie
2011-08-02 18:36 ` Joshua Lock
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox