The layer index module is expected to be used by various parts of the system
in order to access a layerindex-web (such as layers.openembedded.org) and
perform basic processing on the information, such as dependency scanning.
Along with the layerindex implementation are associated tests. The tests
properly honor BB_SKIP_NETTESTS='yes' to prevent test failures.
Tests Implemented:
- Branch, LayerItem, LayerBranch, LayerDependency, Recipe, Machine and
Distro objects
- LayerIndex setup using the layers.openembedded.org restapi
- LayerIndex storing and retrieving from a file
- LayerIndex verify dependency resolution ordering
- LayerIndex setup using simulated cooker data
(Bitbake rev: fd0ee6c10dbb5592731e56f4c592fe687682a3e6)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
903 B
The layerindexlib module is designed to permit programs to work directly with layer index information. (See layers.openembedded.org...)
The layerindexlib module includes a plugin interface that is used to extend the basic functionality. There are two primary plugins available: restapi and cooker.
The restapi plugin works with a web based REST Api compatible with the layerindex-web project, as well as the ability to store and retried a the information for one or more files on the disk.
The cooker plugin works by reading the information from the current build project and processing it as if it were a layer index.
TODO:
init.py: Implement local on-disk caching (using the rest api store/load) Implement layer index style query operations on a combined index
common.py: Stop network access if BB_NO_NETWORK or allowed hosts is restricted
cooker.py: Cooker - Implement recipe parsing