Bug 9458 - devtool: "update-recipe rpm" crashes
Summary: devtool: "update-recipe rpm" crashes
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 2.1
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 2.1 M4
Assignee: Paul Eggleton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-04-13 13:56 UTC by Markus Lehtonen
Modified: 2016-04-15 13:43 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Lehtonen 2016-04-13 13:56:33 UTC
Devtool update-recipe crashed when I tried to add a new patch to rpm:

NOTE: Updating recipe rpm_5.4.16.bb
Traceback (most recent call last):
  File "/home/marquiz/yocto/openembedded-core/scripts/devtool", line 337, in <module>
    ret = main()
  File "/home/marquiz/yocto/openembedded-core/scripts/devtool", line 324, in main
    ret = args.func(args, config, basepath, workspace)
  File "/home/marquiz/yocto/openembedded-core/scripts/lib/devtool/standard.py", line 1271, in update_recipe
    updated = _update_recipe_patch(args, config, workspace, srctree, rd, tinfoil.config_data)
  File "/home/marquiz/yocto/openembedded-core/scripts/lib/devtool/standard.py", line 1211, in _update_recipe_patch
    {'SRC_URI': ' '.join(srcuri)})
  File "/home/marquiz/yocto/openembedded-core/meta/lib/oe/recipeutils.py", line 322, in patch_recipe
    patchdata = patch_recipe_file(f, vals, patch, relpath)
  File "/home/marquiz/yocto/openembedded-core/meta/lib/oe/recipeutils.py", line 254, in patch_recipe_file
    changed, tolines = bb.utils.edit_metadata(fromlines, varlist, patch_recipe_varfunc, match_overrides=True)
  File "/home/marquiz/yocto/openembedded-core/bitbake/lib/bb/utils.py", line 1162, in edit_metadata
    if handle_var_end():
  File "/home/marquiz/yocto/openembedded-core/bitbake/lib/bb/utils.py", line 1087, in handle_var_end
    (newvalue, newop, indent, minbreak) = varfunc(in_var, full_value, op, newlines)
  File "/home/marquiz/yocto/openembedded-core/meta/lib/oe/recipeutils.py", line 240, in patch_recipe_varfunc
    del remainingnames[varname]
  File "/usr/lib64/python2.7/collections.py", line 68, in __delitem__
    dict_delitem(self, key)
KeyError: 'SRC_URI'


The probable cause is the slightly complex assignment of the SRC_URI variable.
Comment 1 Ross Burton 2016-04-15 13:43:36 UTC
Fixed in oe-core da5cd84794e1ab5c4efcd6250d3b93a46f610744.