| Summary: |
devtool: finish/update-recipe fail to capture kernel config changes |
| Product: |
[Build System, Metadata & Runtime] OE-Core
|
Reporter: |
Andrea Galbusera <gizero> |
| Component: |
devtools / tool chain | Assignee: |
Stephano Cetola <stephano> |
| Status: |
RESOLVED
FIXED
|
QA Contact: |
Libertad <libertad.gonzalez.de.la.cruz> |
| Severity: |
normal
|
|
|
| Priority: |
Medium+
|
CC: |
libertad.gonzalez.de.la.cruz, meta.mr.watcher, meta.watcher
|
| Version: |
unspecified | |
|
| Target Milestone: |
2.3 M4 | |
|
| Hardware: |
x86 | |
|
| OS: |
Multiple | |
|
| Whiteboard: |
|
|
OS type for building Yocto:
|
---
|
Type of Regression:
|
---
|
|
Verified:
|
|
Documentation change:
|
No (bug/feature does not impact docs)
|
devtool workflow seems to fail to update the kernel (linux-yocto) recipe after configuration change. Steps to Repeat ================ 1. 'devtool modify virtual/kernel': succeeds 2. 'bitbake virtual/kernel -c menuconfig'. I'm not aware of any devtool-only workflow to access the kernel configuration. Just enabling a previously disabled option here. This step succeeds and .config includes the expected configuration changes. 3. 'devtool build linux-yocto' succeeds and configuration change related artifacts got built 4. 'devtool finish linux-yocto [path]' fails with the below error. Tried to point the changes either to my own layer or to meta-yocto-bsp with the same result. 'devtool update-recipe', which I expect 'finish' is calling behind the scenes leads to the same error. Build Configuration (from 'devtool build'): BB_VERSION = "1.33.2" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "i586-poky-linux" MACHINE = "qemux86" DISTRO = "poky" DISTRO_VERSION = "2.2+snapshot-20170316" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:812fabbd30a062f6e726e6ae0399d87e85bf7fa3" workspace = "<unknown>:<unknown>" Observed Behavior ================== $ devtool finish linux-yocto meta-yocto-bsp Loading cache: 100% |#################################################################| Time: 0:00:00 Loaded 1303 entries from dependency cache. Parsing recipes: 100% |###############################################################| Time: 0:00:28 Parsing of 835 .bb files complete (834 cached, 1 parsed). 1303 targets, 50 skipped, 0 masked, 0 errors. NOTE: Updating config fragment /tmp/devtoolydy_ks5r/tmp7bpa7ds1/devtool-fragment.cfg Traceback (most recent call last): File "/home/gizero/work/upstreaming/poky/scripts/devtool", line 351, in <module> ret = main() File "/home/gizero/work/upstreaming/poky/scripts/devtool", line 338, in main ret = args.func(args, config, basepath, workspace) File "/home/gizero/work/upstreaming/poky/scripts/lib/devtool/standard.py", line 1779, in finish _update_recipe(args.recipename, workspace, rd, args.mode, appendlayerdir, wildcard_version=True, no_remove=False, initial_rev=args.initial_rev) File "/home/gizero/work/upstreaming/poky/scripts/lib/devtool/standard.py", line 1568, in _update_recipe updated = _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wildcard_version, no_remove, initial_rev) File "/home/gizero/work/upstreaming/poky/scripts/lib/devtool/standard.py", line 1443, in _update_recipe_patch upd_f, new_f, del_f = _export_local_files(srctree, rd, local_files_dir) File "/home/gizero/work/upstreaming/poky/scripts/lib/devtool/standard.py", line 1281, in _export_local_files if _create_kconfig_diff(srctree, rd, fragment_path): File "/home/gizero/work/upstreaming/poky/scripts/lib/devtool/standard.py", line 1225, in _create_kconfig_diff fobj.write(stdout) TypeError: write() argument must be str, not bytes Expected Behavior ================== devtool should capture changes in a configuration fragment and update the recipe accordingly