Openembedded Bitbake Development
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <bitbake-devel@lists.openembedded.org>
Subject: [PATCH 0/5 v2] Add a standard module for accessing the layerindex
Date: Mon, 23 Jul 2018 22:29:09 -0400	[thread overview]
Message-ID: <20180724022914.185634-1-mark.hatle@windriver.com> (raw)

Changes available at:
git://git.openembedded.org/bitbake-contrib bitbake-layerindex

v2:
Refactored the module to address Paul E's concerns:

* Treat LAYERSERIES_CORENAMES as a list of supported branches

* Remove type= stuff in plugins, now iterate through plugins until one
  of them accepts the data

* Fix incorrect exceptions, add additional exceptions as necessary

* Replace space separated lists with python lists.. (Few minor excptions,
  documented why where still necessary.)

* Refactor item and object classes:
  - Each LayerIndexItem now uses both decorators and properties to manage
    access to the private data
  - New LayerIndexObj class to handle a -single- layerindex, the main
    module now is a list of LayerIndexObjs

* Lots of variable name changes and cleanups

* Removed dummy API to implement a json query

* General refactoring to accomplish the above

* bitbake-layers layerindex-*
  - Now checks the cooker first, if the layer is already present skips
    going to the network

Selftest passes.
bitbake-layers layerindex-fetch and layerindex-show-depends pass

Note: as before the toaster change needs additional verication then
      what I'm current able to provide.  But it -should- work as patched.


V1:
In order to simply existing components, and add support to create some
new functionaly -- we need a common apporach for access the layerindex.

The class supports loading multilib layerindexes, but right now that
functionality is not being used by either bitbake-layers or the toaster.

There are a few 'TODO' items that remain in the code.  These are related
to either un-implemented, but planned functionality or to display stuff
in bitbake-layers.  I'm hoping that part of this review can discuss the
TODO items.


Mark Hatle (5):
  bblayers/layerindex.py: Fix addition of layers
  layerindexlib: Initial layer index processing module implementation
  bblayers/layerindex.py: Switch to use the new layerindexlib class
  bitbake-layers: disable parsing for layerindex commands
  toaster/orm/management/commands/lsupdates.py: Use new layerindexlib
    module

 bin/bitbake-selftest                               |    6 +-
 lib/bblayers/layerindex.py                         |  323 ++---
 lib/layerindexlib/README                           |   28 +
 lib/layerindexlib/__init__.py                      | 1364 ++++++++++++++++++++
 lib/layerindexlib/cooker.py                        |  341 +++++
 lib/layerindexlib/plugin.py                        |   60 +
 lib/layerindexlib/restapi.py                       |  398 ++++++
 lib/layerindexlib/tests/__init__.py                |    0
 lib/layerindexlib/tests/common.py                  |   43 +
 lib/layerindexlib/tests/cooker.py                  |  123 ++
 lib/layerindexlib/tests/layerindexobj.py           |  226 ++++
 lib/layerindexlib/tests/restapi.py                 |  174 +++
 lib/layerindexlib/tests/testdata/README            |   11 +
 .../tests/testdata/build/conf/bblayers.conf        |   15 +
 .../tests/testdata/layer1/conf/layer.conf          |   17 +
 .../tests/testdata/layer2/conf/layer.conf          |   20 +
 .../tests/testdata/layer3/conf/layer.conf          |   19 +
 .../tests/testdata/layer4/conf/layer.conf          |   22 +
 lib/toaster/orm/management/commands/lsupdates.py   |  216 ++--
 19 files changed, 3083 insertions(+), 323 deletions(-)
 create mode 100644 lib/layerindexlib/README
 create mode 100644 lib/layerindexlib/__init__.py
 create mode 100644 lib/layerindexlib/cooker.py
 create mode 100644 lib/layerindexlib/plugin.py
 create mode 100644 lib/layerindexlib/restapi.py
 create mode 100644 lib/layerindexlib/tests/__init__.py
 create mode 100644 lib/layerindexlib/tests/common.py
 create mode 100644 lib/layerindexlib/tests/cooker.py
 create mode 100644 lib/layerindexlib/tests/layerindexobj.py
 create mode 100644 lib/layerindexlib/tests/restapi.py
 create mode 100644 lib/layerindexlib/tests/testdata/README
 create mode 100644 lib/layerindexlib/tests/testdata/build/conf/bblayers.conf
 create mode 100644 lib/layerindexlib/tests/testdata/layer1/conf/layer.conf
 create mode 100644 lib/layerindexlib/tests/testdata/layer2/conf/layer.conf
 create mode 100644 lib/layerindexlib/tests/testdata/layer3/conf/layer.conf
 create mode 100644 lib/layerindexlib/tests/testdata/layer4/conf/layer.conf

-- 
1.8.3.1



             reply	other threads:[~2018-07-24  2:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24  2:29 Mark Hatle [this message]
2018-07-24  2:29 ` [PATCH 1/5 v2] bblayers/layerindex.py: Fix addition of layers Mark Hatle
2018-07-24  2:29 ` [PATCH 2/5 v2] layerindexlib: Initial layer index processing module implementation Mark Hatle
2018-07-24  2:29 ` [PATCH 3/5 v2] bblayers/layerindex.py: Switch to use the new layerindexlib class Mark Hatle
2018-07-24  2:29 ` [PATCH 4/5] bitbake-layers: disable parsing for layerindex commands Mark Hatle
2018-07-24  2:29 ` [PATCH 5/5 v2] toaster/orm/management/commands/lsupdates.py: Use new layerindexlib module Mark Hatle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180724022914.185634-1-mark.hatle@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=bitbake-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox