From 2a4fa9a1b8d46c2881b55fd91ce2c1abc7435596 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 27 Dec 2017 15:35:20 +0800 Subject: update.py: make sure oe-core is fetched Fixed: $ ./update.py -l foo -b new_branch INFO: Fetching remote repository foo DEBUG: run cmd 'git fetch -p' in 'foo' [snip] DEBUG: run cmd 'git checkout origin/new_branch' in oe-core ERROR: error: pathspec 'origin/new_branch' did not match any file(s) known to git. The "new_branch" is newly created, it doesn't exist in local repo since it isn't fetched, it only fetches the layer specified by -l, so only the foo layer is fetched. This patch fixes problem. Signed-off-by: Robert Yang Signed-off-by: Paul Eggleton --- layerindex/update.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'layerindex/update.py') diff --git a/layerindex/update.py b/layerindex/update.py index dc20b303ae..d5bd18d133 100755 --- a/layerindex/update.py +++ b/layerindex/update.py @@ -257,8 +257,14 @@ def main(): bitbakepath = os.path.join(fetchdir, 'bitbake') if not options.nofetch: + # Make sure oe-core is fetched since recipe parsing requires it + layerquery_core = LayerItem.objects.filter(classic=False).filter(name=settings.CORE_LAYER_NAME) + if layerquery_core in layerquery: + layerquery_fetch = list(layerquery) + else: + layerquery_fetch = list(layerquery) + list(layerquery_core) # Fetch latest metadata from repositories - for layer in layerquery: + for layer in layerquery_fetch: # Handle multiple layers in a single repo urldir = layer.get_fetch_dir() repodir = os.path.join(fetchdir, urldir) -- cgit 1.2.3-korg