mbox series

[layerindex-web,0/3] Report problems with the first parse of a layer

Message ID 20261114022637.60789-1-tim.orling@konsulko.com
Headers show
Series Report problems with the first parse of a layer | expand

Message

Tim Orling Nov. 14, 2026, 2:26 a.m. UTC
These fix three bugs in how update.py reports the first parse of each
layer's conf/layer.conf.

1: Bug 12130: the values from the first parse (BBFILE_COLLECTIONS,
   LAYERVERSION, LAYERDEPENDS, LAYERRECOMMENDS) were printed, so they
   showed on the console and in every layer's update log. update_layer.py
   now writes them to a file that update.py names.
2: Bug 13490: errors that stop a layer being parsed (fetch failed,
   subdirectory or conf/layer.conf missing, no BBFILE_COLLECTIONS,
   LAYERDEPENDS not satisfied) only went to the overall update log. They
   are now also recorded in the layer's own update history.
3: Bug 13489: the page of a layer that was never indexed said indexing
   would happen within a few hours even when its update had failed. It
   now shows a warning with a link to the failed update's log.

On a test instance loaded with a copy of the layers.openembedded.org
database, the last nightly update could not add 22 layers on master
because their LAYERDEPENDS are not satisfied (e.g. meta-homeassistant,
meta-kodi, meta-luneos), with nothing on their pages; 5 of them have
never been indexed. The test suite passes in the Docker image at each
patch (79 passed, 1 skipped at the end).

Tim Orling (3):
  update: don't print the initial layer.conf values
  update: record errors in a layer's first parse against the layer
  templates: warn on the layer page when the first parse failed

 layerindex/update.py             | 61 +++++++++++++++++++++++---------
 layerindex/update_layer.py       | 12 ++++---
 templates/layerindex/detail.html |  8 +++++
 tests/test_first_parse_status.py | 49 +++++++++++++++++++++++++
 tests/test_update.py             | 34 ++++++++++++++++++
 5 files changed, 143 insertions(+), 21 deletions(-)
 create mode 100644 tests/test_first_parse_status.py


base-commit: 08e58cdece30019a6f9e5d14af16ebe20afa6177