1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 00:39:46 +00:00

devtool: update-recipe: support files with subdir=

It's rare but there are recipes that have individual files (as opposed
to archives) in SRC_URI using subdir= to put them under the source tree,
the examples in OE-Core being bzip2 and openssl. This broke devtool
update-recipe (and devtool finish) because the file wasn't unpacked into
the oe-local-files directory and thus when it came time to update the
recipe, the file was assumed to have been deleted by the user and thus
the file was erroneously removed. Add logic to handle these properly so
that this doesn't happen.

(We still have another potential problem in that these files become part
of the initial commit from upstream, which could be confusing because
they didn't come from there - but that's a separate issue and not one
that is trivially solved.)

(From OE-Core rev: 9069fef5dad5a873c8a8f720f7bcbc7625556309)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton
2016-09-01 11:38:46 +12:00
committed by Richard Purdie
parent 94aefd9a39
commit 39d3aa2828
2 changed files with 46 additions and 4 deletions
+10 -2
View File
@@ -400,8 +400,16 @@ def get_recipe_local_files(d, patches=False):
bb.utils.exec_flat_python_func('patch_path', uri, fetch, '')):
continue
# Skip files that are referenced by absolute path
if not os.path.isabs(fetch.ud[uri].basepath):
ret[fetch.ud[uri].basepath] = fetch.localpath(uri)
fname = fetch.ud[uri].basepath
if os.path.isabs(fname):
continue
# Handle subdir=
subdir = fetch.ud[uri].parm.get('subdir', '')
if subdir:
if os.path.isabs(subdir):
continue
fname = os.path.join(subdir, fname)
ret[fname] = fetch.localpath(uri)
return ret