1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-03 01:40:07 +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
+11
View File
@@ -0,0 +1,11 @@
This test data is used to verify the 'cooker' module of the layerindex.
The module consists of a faux project bblayers.conf with four layers defined.
layer1 - openembedded-core
layer2 - networking-layer
layer3 - meta-python
layer4 - openembedded-layer (meta-oe)
Since we do not have a fully populated cooker, we use this to test the
basic index generation, and not any deep recipe based contents.
@@ -0,0 +1,15 @@
LAYERSERIES_CORENAMES = "sumo"
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
${TOPDIR}/layer1 \
${TOPDIR}/layer2 \
${TOPDIR}/layer3 \
${TOPDIR}/layer4 \
"
@@ -0,0 +1,17 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
BBFILE_COLLECTIONS += "core"
BBFILE_PATTERN_core = "^${LAYERDIR}/"
BBFILE_PRIORITY_core = "5"
LAYERSERIES_CORENAMES = "sumo"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "11"
LAYERSERIES_COMPAT_core = "sumo"
BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"
@@ -0,0 +1,20 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "networking-layer"
BBFILE_PATTERN_networking-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_networking-layer = "5"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_networking-layer = "1"
LAYERDEPENDS_networking-layer = "core"
LAYERDEPENDS_networking-layer += "openembedded-layer"
LAYERDEPENDS_networking-layer += "meta-python"
LAYERSERIES_COMPAT_networking-layer = "sumo"
@@ -0,0 +1,19 @@
# We might have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-python"
BBFILE_PATTERN_meta-python := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-python = "7"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_meta-python = "1"
LAYERDEPENDS_meta-python = "core openembedded-layer"
LAYERSERIES_COMPAT_meta-python = "sumo"
LICENSE_PATH += "${LAYERDIR}/licenses"
@@ -0,0 +1,22 @@
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "openembedded-layer"
BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/"
# Define the priority for recipes (.bb files) from this layer,
# choosing carefully how this layer interacts with all of the
# other layers.
BBFILE_PRIORITY_openembedded-layer = "6"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_openembedded-layer = "1"
LAYERDEPENDS_openembedded-layer = "core"
LAYERSERIES_COMPAT_openembedded-layer = "sumo"