Bug 8188 - The variable history is missing the layer name
Summary: The variable history is missing the layer name
Status: RESOLVED FIXED
Alias: None
Product: Toaster
Classification: Build System, Metadata & Runtime
Component: toaster (show other bugs)
Version: 1.8
Hardware: x86 Multiple
: Medium normal
Target Milestone: 2.2 M4
Assignee: David Reyna
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2015-08-20 16:42 UTC by Belen Barros Pena
Modified: 2016-09-19 12:47 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
look-ma-no-layer.png (213.92 KB, image/png)
2015-08-26 16:19 UTC, Belen Barros Pena
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Belen Barros Pena 2015-08-20 16:42:17 UTC
In the BitBake variables table, any paths inside a layer are missing the layer name. This renders the variable history a bit useless, since you no longer know which layer contains the file touching the variable.

Layer names must be part of the path, with 'meta' showing as 'openembedded-core'
Comment 1 Belen Barros Pena 2015-08-26 16:19:22 UTC
Sorry for the meagre description. I'll try again.

To reproduce:

1. Run a build
2. When the build finishes, click on the build target
3. In the left navigation, click the Configuration link
4. Then click on the 'BitBake variables' tab

You will see a table of variables which is effectively the output of the bitbake -e command. If you click on any of the variable names (a good example might be BBFILE_COLLECTIONS) you will get a dialog showing the history of how that variable was set, i.e. a list of all the files that touched the variable and the operation they performed on it. 

The problem this bug reports is the fact that, for files in that history, the layer name is now missing. This makes it impossible for me to locate the actual file performing the operation on the variable. 

If you look at the attached screenshot (look-ma-no-layer.png), you will see how BBFILE_COLLECTIONS was set by 3 different configuration files. The 3 of them listed as 

conf/layer.conf

Problem is: most layers have a conf directory with a layer.conf file. I used 3 layers in that build: meta, meta-yocto and meta-yocto-bsp, and with the information Toaster is giving me right now there is no way for me to know which layer.conf from which layer actually performed the operation.

These paths must include the layer name, otherwise they don't provide sufficient information.

I hope this explains.
Comment 2 Belen Barros Pena 2015-08-26 16:19:44 UTC
Created attachment 2690 [details]
look-ma-no-layer.png
Comment 3 Belen Barros Pena 2016-04-25 14:36:22 UTC
I am not sure if Brian Avery will be able to do much Toaster work, so setting this one to the default assignee for the time being. Brian: feel free to take it back if you really want it!
Comment 4 David Reyna 2016-08-26 22:55:04 UTC
The issue was caused in buildinfohelper method save_build_layers_and_variables(), where when the file paths were converted to relative paths, the name of the layer directory name was included in the prefix that was removed.
Comment 5 Ross Burton 2016-09-19 12:47:56 UTC
Fixed in bitbake 59561d652af91c2099b735084f0e44275d68e637.