diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-11-10 14:45:17 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-23 11:10:13 +0000 |
commit | 55a157f4e687de98d78f74e0ec7b4e9883599319 (patch) | |
tree | 8702aaff3d6782ccfce84ab1f17d5acf4c82433f /meta/lib/oe | |
parent | d316363b7ba57cbf5300c6cd3b4cc68fb3258d6f (diff) | |
download | poky-55a157f4e687de98d78f74e0ec7b4e9883599319.tar.gz |
devtool: update-recipe: fix handling of compressed local patches
It is possible to use gzip or bzip2 to compress patches and still refer
to them in compressed form in the SRC_URI value within a recipe. If you
run "devtool modify" on such a recipe, make changes to the commit for
the patch and then run devtool update-recipe, we need to correctly
associate the commit back to the compressed patch file and re-compress
the patch, neither of which we were doing previously.
Additionally, add an oe-selftest test to ensure this doesn't regress in
future.
Fixes [YOCTO #8278].
(From OE-Core rev: e47d21624dfec6f71742b837e91da553f18a28c5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r-- | meta/lib/oe/recipeutils.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py index 6caae5f7d4..ab4177aa81 100644 --- a/meta/lib/oe/recipeutils.py +++ b/meta/lib/oe/recipeutils.py | |||
@@ -397,7 +397,7 @@ def get_recipe_local_files(d, patches=False): | |||
397 | for uri in uris: | 397 | for uri in uris: |
398 | if fetch.ud[uri].type == 'file': | 398 | if fetch.ud[uri].type == 'file': |
399 | if (not patches and | 399 | if (not patches and |
400 | bb.utils.exec_flat_python_func('patch_path', uri, fetch, '')): | 400 | bb.utils.exec_flat_python_func('patch_path', uri, fetch, '', expand=False)): |
401 | continue | 401 | continue |
402 | # Skip files that are referenced by absolute path | 402 | # Skip files that are referenced by absolute path |
403 | fname = fetch.ud[uri].basepath | 403 | fname = fetch.ud[uri].basepath |
@@ -418,7 +418,7 @@ def get_recipe_patches(d): | |||
418 | patchfiles = [] | 418 | patchfiles = [] |
419 | # Execute src_patches() defined in patch.bbclass - this works since that class | 419 | # Execute src_patches() defined in patch.bbclass - this works since that class |
420 | # is inherited globally | 420 | # is inherited globally |
421 | patches = bb.utils.exec_flat_python_func('src_patches', d) | 421 | patches = bb.utils.exec_flat_python_func('src_patches', d, expand=False) |
422 | for patch in patches: | 422 | for patch in patches: |
423 | _, _, local, _, _, parm = bb.fetch.decodeurl(patch) | 423 | _, _, local, _, _, parm = bb.fetch.decodeurl(patch) |
424 | patchfiles.append(local) | 424 | patchfiles.append(local) |
@@ -437,7 +437,7 @@ def get_recipe_patched_files(d): | |||
437 | import oe.patch | 437 | import oe.patch |
438 | # Execute src_patches() defined in patch.bbclass - this works since that class | 438 | # Execute src_patches() defined in patch.bbclass - this works since that class |
439 | # is inherited globally | 439 | # is inherited globally |
440 | patches = bb.utils.exec_flat_python_func('src_patches', d) | 440 | patches = bb.utils.exec_flat_python_func('src_patches', d, expand=False) |
441 | patchedfiles = {} | 441 | patchedfiles = {} |
442 | for patch in patches: | 442 | for patch in patches: |
443 | _, _, patchfile, _, _, parm = bb.fetch.decodeurl(patch) | 443 | _, _, patchfile, _, _, parm = bb.fetch.decodeurl(patch) |