1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

bitbake: layerindexlib: Initial layer index processing module implementation

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>
This commit is contained in:
Mark Hatle
2018-07-23 22:29:11 -04:00
committed by Richard Purdie
parent 0dea950931
commit 1ac19d1bf1
17 changed files with 2866 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
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