Created attachment 2413 [details] recipe file path vs layer directory path We have a funny issue currently where the path shown in the 'recipe file' information is different from the path shown in the 'layer directory' information. I have attached an example of the problem. Since local paths are not useful when you are using Toaster in build mode (since our main use case involves people not running the builds in their local computers), we have opened bug 7301 to remove the full path to the recipe file. We have also removed the layer directory information from the build mode of Toaster. An easy workaround would be simply removing the layer directory information from Toaster alltogether (both build and analysis modes). But before going ahead and doing that, it would be interesting to understand which one of them (recipe file path or layer directory path) is the correct one.
Both are "correct", in the sense - - the layer directory is where the layer is checked out by the user - the recipe path is where bitbake finds the recipe; since toaster checks out a new copy of the layer for building, bitbake sees this copy, and finds the recipe in the new copy I think that for "localhost" mode, the "layer path" is the important information, as the recipe path is an artifact of toaster, and not directly manageable by the user. In "hosted" mode, both paths are irrelevant - but we actually identify correctly with layer actually triggered which recipe, so - The recipe path is irrelevant, so it should be taken out. - I would replace the "Layer path" with a link to the layer details page.
(In reply to comment #1) > Both are "correct", in the sense - > > - the layer directory is where the layer is checked out by the user > > - the recipe path is where bitbake finds the recipe; since toaster checks > out a new copy of the layer for building, bitbake sees this copy, and finds > the recipe in the new copy The problem is, since we are talking about information shown after the build happens, both paths should be showing what was actually used during the build, i.e. the second one you are listing above. > > I think that for "localhost" mode, the "layer path" is the important > information, as the recipe path is an artifact of toaster, and not directly > manageable by the user. It is still useful to know where the .bb file is inside the layer, so that I can easily look at the source if I want to. > > In "hosted" mode, both paths are irrelevant - but we actually identify > correctly with layer actually triggered which recipe, so > > - The recipe path is irrelevant, so it should be taken out. Again, I don't think is irrelevant: it is useful to know where the recipe is inside the layer. > - I would replace the "Layer path" with a link to the layer details page. This sounds like a good idea. We can remove the column and turn the layer name into a link.
> > > > I think that for "localhost" mode, the "layer path" is the important > > information, as the recipe path is an artifact of toaster, and not directly > > manageable by the user. > > It is still useful to know where the .bb file is inside the layer, so that I > can easily look at the source if I want to. ... > > > > > In "hosted" mode, both paths are irrelevant - but we actually identify > > correctly with layer actually triggered which recipe, so > > > > - The recipe path is irrelevant, so it should be taken out. > > Again, I don't think is irrelevant: it is useful to know where the recipe is > inside the layer. With the adamian/20150309_bugz the recipe path is always listed relative to the layer. The patch have been submitted upstream. Moving the bug In Progress Review. > > > - I would replace the "Layer path" with a link to the layer details page. > > This sounds like a good idea. We can remove the column and turn the layer > name into a link. This should be fixed after we separate the build mode and analysis mode applications. Opened the bug to track this work https://bugzilla.yoctoproject.org/show_bug.cgi?id=7452
This sounds good. Thanks, Alex.
Merged in master as 5252c459ac1cdc8a869ce02a0d7937c9efb0b833
Still something funny going on: see the attached screenshot recipefile-layerdir.png Now some of the layer directory information comes from the build (see apache2 in the screenshot); in other cases it doesn't (see acl-native in the screenshot).
Created attachment 2462 [details] recipefile-layerdir.png
This requires a modification in the database structure and build data logger to store the path-flags (e.g. virtual, native) in a different field, and store the file paths in relative form for all recipes. ATTENTION: The recipes are now stored relative to the Layer.local_path; this needs to invalidated to be stored relative to Layer_Version by moving the "local_path" to Layer_Version - it makes little sense to have it in the Layer class. This triggers cascading changes in the application, so I'm moving this bug to "Major" severity.
Fixed by https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=adamian/20150528-submission-bb&id=f1d8ef8cdeefeaab68b799f06e04b5e30ebcd1bc
This was merged upstream.
Verified on master: 8ef99a00dc75c6eed87aa1bc1528614a2a27eddf