LayerIndex/Checker: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 21: | Line 21: | ||
An example run is available on this page for 'dunfell' [[LayerIndex/Checker/dunfell]] | An example run is available on this page for 'dunfell' [[LayerIndex/Checker/dunfell]] | ||
Code is at: https://github.com/dl9pf/layerindexchecker | |||
Next steps: | Next steps: |
Revision as of 16:45, 26 August 2020
This is a little project to increase the quality of the LayerIndex entries.
We do not have a name yet, so we just call it 'Checker' for now.
It uses existing tools and the guidelines documented e.g. in the BSP guides and in the existing tests/tooling.
Currently it does 3 things:
a) grep LAYERSERIES_COMPAT <layer>/conf/layer.conf
a1) grep for 'dunfell' (or gatesgart)
b) grep LAYERDEPENDS <layer>/conf/layer.conf
[ run bitbake-layer layerindex-fetch $layer ]
c) run layer check script: yocto-check-layer (from OE-core repo)
An example run is available on this page for 'dunfell' LayerIndex/Checker/dunfell
Code is at: https://github.com/dl9pf/layerindexchecker
Next steps:
- need help with:
- Update layerindex to add field noting the layer passed the 'checker' (or however we will name it)
- Expose api call to upload this for branch/layer/package combination
- option: add field showing if the checker did run/run last
- option: add field noting the error if it did not pass
- There seems to be either a bug in bitbake-layers layerindex-fetch or in the layerindex causing some dunfell projects to not complete the fetch
Traceback (most recent call last): File "/home/layerindexcheck/bitbake/bin/bitbake-layers", line 95, in <module> ret = main() File "/home/layerindexcheck/bitbake/bin/bitbake-layers", line 88, in main return args.func(args) File "/home/layerindexcheck/bitbake/lib/bblayers/layerindex.py", line 119, in do_layerindex_fetch (dependencies, invalidnames) = lIndex.find_dependencies(names=args.layername, ignores=ignore_layers) File "/home/layerindexcheck/bitbake/lib/layerindexlib/__init__.py", line 443, in find_dependencies (dependencies, invalid) = _resolve_dependencies(layerbranches, ignores, dependencies, invalid) File "/home/layerindexcheck/bitbake/lib/layerindexlib/__init__.py", line 431, in _resolve_dependencies (dependencies, invalid) = _resolve_dependencies([deplayerbranch], ignores, dependencies, invalid, local_processed) File "/home/layerindexcheck/bitbake/lib/layerindexlib/__init__.py", line 386, in _resolve_dependencies deplayerbranch = layerdependency.dependency_layerBranch File "/home/layerindexcheck/bitbake/lib/layerindexlib/__init__.py", line 915, in __getattr__ raise AttributeError('%s not in datastore' % name) AttributeError: dependency_layerBranch not in datastore
- This seems to be https://bugzilla.yoctoproject.org/show_bug.cgi?id=13954
- will do myself
- update script to work against api
- will host runner for layers.openembedded.org (weekly/stable branches ... master does not make too much sense atm).
- enhance script to pick machines for BSP layers