* [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