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:
committed by
Daniel Wagner
parent
b9032ec025
commit
e8851a5fb3
@@ -184,6 +184,27 @@ def repos_fetch(config, repos):
|
||||
sys.exit(task.result())
|
||||
|
||||
|
||||
def repos_apply_patches(config, repos):
|
||||
"""
|
||||
Applies the patches to the repositories.
|
||||
"""
|
||||
tasks = []
|
||||
for repo in repos:
|
||||
if not hasattr(asyncio, 'ensure_future'):
|
||||
# pylint: disable=no-member,deprecated-method
|
||||
task = asyncio.async(repo.apply_patches_async(config))
|
||||
else:
|
||||
task = asyncio.ensure_future(repo.apply_patches_async(config))
|
||||
tasks.append(task)
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(asyncio.wait(tasks))
|
||||
|
||||
for task in tasks:
|
||||
if task.result():
|
||||
sys.exit(task.result())
|
||||
|
||||
|
||||
def get_build_environ(config, build_dir):
|
||||
"""
|
||||
Create the build environment variables.
|
||||
|
||||
Reference in New Issue
Block a user