| Submitter | Peter Seebach |
|---|---|
| Date | May 21, 2012, 3:10 p.m. |
| Message ID | <cover.1337612802.git.peter.seebach@windriver.com> |
| Download | mbox |
| Permalink | /patch/28225/ |
| State | New |
| Headers | show |
Pull-request
git://git.yoctoproject.org/poky-contrib seebs/trackingComments
On Mon, May 21, 2012 at 8:10 AM, Peter Seebach <peter.seebach@windriver.com> wrote: > This revised patch now uses Python's traceback facility to assign > meaningful locations (file and function, rather than line) to operations > which weren't specified, and correspondingly does not specify file and > line when the file name would have been the python code making the > assignment; this makes the patch smaller and the output more meaningful. > > As before, this is a patch to add tracking showing when and how variables > got their values, and which configuration files were included from which > other configuration files. > > The following changes since commit 39adb5741d9eee0879d3181be505400dffc60804: > Andrei Gherzan (1): > bb/fetch2/__init__.py: Don't try to compute checksums for directories While these still aren't the prettiest, I think they're a lot cleaner than they were, and given the obvious value, I think we should consider merging them. Richard, thoughts?
On Mon, 21 May 2012 12:54:10 -0700 Chris Larson <clarson@kergoth.com> wrote: > While these still aren't the prettiest, I think they're a lot cleaner > than they were, and given the obvious value, I think we should > consider merging them. The only other thing that sort of occurred to me was that it might be useful in such a case to break out the parts of finalize so the tracking of assignments and changes which occur there to be more obvious. (Say, move the _append and _override logics to their own functions.) Not sure it's worth it, though. I suppose I could just make those setVars be (var, value, None, None, 'append') or whatever. -s
On Mon, 2012-05-21 at 12:54 -0700, Chris Larson wrote: > On Mon, May 21, 2012 at 8:10 AM, Peter Seebach > <peter.seebach@windriver.com> wrote: > > This revised patch now uses Python's traceback facility to assign > > meaningful locations (file and function, rather than line) to operations > > which weren't specified, and correspondingly does not specify file and > > line when the file name would have been the python code making the > > assignment; this makes the patch smaller and the output more meaningful. > > > > As before, this is a patch to add tracking showing when and how variables > > got their values, and which configuration files were included from which > > other configuration files. > > > > The following changes since commit 39adb5741d9eee0879d3181be505400dffc60804: > > Andrei Gherzan (1): > > bb/fetch2/__init__.py: Don't try to compute checksums for directories > > While these still aren't the prettiest, I think they're a lot cleaner > than they were, and given the obvious value, I think we should > consider merging them. Richard, thoughts? I agree, I'd prefer we could find a neater way to do this but our current structure doesn't lend itself to this and this is not looking too bad. My main concerns would be related to performance and since this defaults to disabled, it shouldn't be too bad. It also does answer an important question we do keep getting asked, namely, "how did variable X get set or Y" or "which files did Bitbake actually look at". These changes allow us to give people a way to answer those questions. So I want to take a closer look through the patches but I'm leaning toward merging them. If we find ways to make things neater, great but this is probably as good a start as we can hope for. Cheers, Richard
On Tue, 22 May 2012 14:43:39 +0100 Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > So I want to take a closer look through the patches but I'm leaning > toward merging them. If we find ways to make things neater, great but > this is probably as good a start as we can hope for. They need one small bug fixed (there's a missing [1] in the mods to createCopy), but apart from that I'm using them without noticeable trouble. If these get added to bitbake, there's a related change to oe-core that might be handy, to suppress sanity checks when using this feature so you can get an explanation of what went wrong. -s
On Tue, 2012-05-22 at 11:13 -0500, Peter Seebach wrote: > On Tue, 22 May 2012 14:43:39 +0100 > Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > > So I want to take a closer look through the patches but I'm leaning > > toward merging them. If we find ways to make things neater, great but > > this is probably as good a start as we can hope for. > > They need one small bug fixed (there's a missing [1] in the mods to > createCopy), but apart from that I'm using them without noticeable > trouble. FWIW, I'm planning to look at this next week, am not likely to get there today. > If these get added to bitbake, there's a related change to oe-core > that might be handy, to suppress sanity checks when using this feature > so you can get an explanation of what went wrong. I suspect a recent change to sanity.bbclass has made that obsolete... Cheers, Richard
This revised patch now uses Python's traceback facility to assign meaningful locations (file and function, rather than line) to operations which weren't specified, and correspondingly does not specify file and line when the file name would have been the python code making the assignment; this makes the patch smaller and the output more meaningful. As before, this is a patch to add tracking showing when and how variables got their values, and which configuration files were included from which other configuration files. The following changes since commit 39adb5741d9eee0879d3181be505400dffc60804: Andrei Gherzan (1): bb/fetch2/__init__.py: Don't try to compute checksums for directories are available in the git repository at: git://git.yoctoproject.org/poky-contrib seebs/tracking http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/tracking Peter Seebach (2): data_smart.py: Provide (optional) logging of variable modifications data_smart.py: Track configuration file inclusions lib/bb/cooker.py | 2 + lib/bb/data.py | 65 +++++++++++++++++----- lib/bb/data_smart.py | 140 +++++++++++++++++++++++++++++++++++++-------- lib/bb/parse/__init__.py | 6 ++- lib/bb/parse/ast.py | 65 ++++++++++++---------- 5 files changed, 209 insertions(+), 69 deletions(-)