implements patch support for repos

With this commit its now possible to patch 3rd party repos before bitbake is started.

Example:

This is our repo:
  .
  ├── kas.yml
  ├── first-patch.patch
  └── quilt-patches
      ├── second-patch.patch
      ├── third-patch.patch
      └── series

Content of kas.yml:
  header:
    version: 8

  repos:
    my:
    third-party:
      url: "git://example.com/third-party.git"
      refspec: "35adf4...34"
      patches:
        01-first:
          repo: my
          path: "first-patch.patch"
        02-second:
          repo: my
          path: "quilt-patches"

Currently only 'git' repositories can be patched.

Signed-off-by: Claudius Heine <ch@denx.de>
This commit is contained in:
Claudius Heine
2018-03-09 08:22:52 +01:00
committed by Daniel Wagner
parent b9032ec025
commit e8851a5fb3
9 changed files with 175 additions and 12 deletions

View File

@@ -66,3 +66,12 @@ Added
- ``type`` property to ``repos`` to be able to express which version control
system to use.
Version 8
---------
Added
~~~~~
- ``patches`` property to ``repos`` to be able to apply additional patches to
the repo.

View File

@@ -352,6 +352,22 @@ Configuration reference
'0', 'false']``. This way it is possible to overwrite the inclusion
of a layer in latter loaded configuration files.
* ``patches``: dict [optional]
Contains the patches that should be applied to this repo before it is
used.
* ``<patches-id>``: dict [optional]
One entry in patches with its specific and unique id. All available
patch entries are applied in the order of their sorted
``<patches-id>``.
* ``repo``: string [required]
The identifier of the repo where the path of this entry is relative
to.
* ``path``: string [required]
The path to one patch file or a quilt formatted patchset directory.
* ``bblayers_conf_header``: dict [optional]
This contains strings that should be added to the ``bblayers.conf`` before
any layers are included.