actually this is not the culprit but setting SDK_INCLUDE_NATIVESDK = "1" does help avoid this issue, the problem is in master I dont have time to bisect it but it worked fine few weeks ago. For now I will just set SDK_INCLUDE_NATIVESDK and move on
On Wed, Sep 25, 2019 at 3:21 PM Khem Raj <[email protected]> wrote: > > I think this is the reason why extensible sdk is not building for me, > key is I am not setting SDK_INCLUDE_NATIVESDK > > The file local.conf.bak that it is not able to find to copy is > actually inside sdk-ext/image/tmp-renamed-sdk/conf, So I wonder if > renaming is happening inbetween copying ? > > Summary: 1 task failed: > > /mnt/b/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/yoe-simple-image/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/openembedded-core/meta/recipes-core/meta/package-index.bb:do_package_index > Summary: There was 1 ERROR message shown, returning a non-zero exit code. > ERROR: yoe-simple-image-1.0-r0 do_populate_sdk_ext: Error executing a > python function in exec_python_func() autogenerated: > > The stack trace of python calls that resulted in this exception/failure was: > File: 'exec_python_func() autogenerated', lineno: 2, function: <module> > 0001: > *** 0002:copy_buildsystem(d) > 0003: > File: > '/mnt/b/yoe/sources/openembedded-core/meta/classes/populate_sdk_ext.bbclass', > lineno: 444, function: copy_buildsystem > 0440: sdk_ext_type = d.getVar('SDK_EXT_TYPE') > 0441: if (sdk_ext_type != 'minimal' or sdk_include_toolchain > or derivative) and not sdk_include_nativesdk: > 0442: # Create the filtered task list used to generate the > sstate cache shipped with the SDK > 0443: tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt' > *** 0444: create_filtered_tasklist(d, baseoutpath, tasklistfn, > conf_initpath) > 0445: else: > 0446: tasklistfn = None > 0447: > 0448: if os.path.exists(builddir + '/cache/bb_unihashes.dat'): > File: > '/mnt/b/yoe/sources/openembedded-core/meta/classes/populate_sdk_ext.bbclass', > lineno: 180, function: create_filtered_tasklist > 0176: # Clean out residue of running bitbake, which > check_sstate_task_list() > 0177: # will effectively do > 0178: clean_esdk_builddir(d, sdkbasepath) > 0179: finally: > *** 0180: os.replace(sdkbasepath + '/conf/local.conf.bak', > sdkbasepath + '/conf/local.conf') > 0181: > 0182:python copy_buildsystem () { > 0183: import re > 0184: import shutil > Exception: FileNotFoundError: [Errno 2] No such file or directory: > '/mnt/b/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/yoe-simple-image/1.0-r0/sdk-ext/image//opt/yoe/3.0/conf/local.conf.bak' > -> > '/mnt/b/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/yoe-simple-image/1.0-r > 0/sdk-ext/image//opt/yoe/3.0/conf/local.conf' > > ERROR: Logfile of failure stored in: > /mnt/b/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/yoe-simple-image/1.0-r0/temp/log.do_populate_sdk_ext.1484013 > > On Wed, Sep 18, 2019 at 10:43 AM Jaewon Lee <[email protected]> wrote: > > > > When doing a devtool build-sdk from within an esdk all nativesdk > > components would be rebuilt. This patch introduces SDK_INCLUDE_NATIVESDK > > flag to toggle the inclusion of nativesdk packages when creating the > > esdk sstate > > > > Currently locked-sigs.inc is generated during do_sdk_depends which > > doesn't pull in nativesdk packages. Generating another locked-sigs.inc > > in do_populate_sdk_ext and pruning it to only nativesdk* packages by > > using a modified version of the already existing function > > prune_locked_sigs and merging it with the current locked-sigs.inc > > Also adding SDK_INCLUDE_NATIVESDK tasklistfn to the logic surrounding > > setting tasklist file to not prune esdk sstate during creation > > > > Fixes [YOCTO #13261] > > > > Signed-off-by: Jaewon Lee <[email protected]> > > --- > > changes in v2: > > change to commit message to include reason > > got rid of some tabs > > rebased to apply on master > > changes in v3: > > fix patchwork failure for format of short commit message > > --- > > meta/classes/populate_sdk_ext.bbclass | 28 +++++++++++++++++++++++++++- > > meta/lib/oe/copy_buildsystem.py | 8 ++++++-- > > 2 files changed, 33 insertions(+), 3 deletions(-) > > > > diff --git a/meta/classes/populate_sdk_ext.bbclass > > b/meta/classes/populate_sdk_ext.bbclass > > index 800e117..086f55d 100644 > > --- a/meta/classes/populate_sdk_ext.bbclass > > +++ b/meta/classes/populate_sdk_ext.bbclass > > @@ -20,6 +20,7 @@ SDK_EXT_task-populate-sdk-ext = "-ext" > > SDK_EXT_TYPE ?= "full" > > SDK_INCLUDE_PKGDATA ?= "0" > > SDK_INCLUDE_TOOLCHAIN ?= "${@'1' if d.getVar('SDK_EXT_TYPE') == 'full' > > else '0'}" > > +SDK_INCLUDE_NATIVESDK ?= "0" > > > > SDK_RECRDEP_TASKS ?= "" > > > > @@ -401,9 +402,27 @@ python copy_buildsystem () { > > excluded_targets = get_sdk_install_targets(d, images_only=True) > > sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc' > > lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' > > + #nativesdk-only sigfile to merge into locked-sigs.inc > > + sdk_include_nativesdk = (d.getVar("SDK_INCLUDE_NATIVESDK") == '1') > > + nativesigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc' > > + nativesigfile_pruned = d.getVar('WORKDIR') + > > '/locked-sigs_nativesdk_pruned.inc' > > + > > + if sdk_include_nativesdk: > > + oe.copy_buildsystem.prune_lockedsigs([], > > + excluded_targets.split(), > > + nativesigfile, > > + True, > > + nativesigfile_pruned) > > + > > + oe.copy_buildsystem.merge_lockedsigs([], > > + sigfile, > > + nativesigfile_pruned, > > + sigfile) > > + > > oe.copy_buildsystem.prune_lockedsigs([], > > excluded_targets.split(), > > sigfile, > > + False, > > lockedsigs_pruned) > > > > sstate_out = baseoutpath + '/sstate-cache' > > @@ -414,7 +433,7 @@ python copy_buildsystem () { > > > > sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1') > > sdk_ext_type = d.getVar('SDK_EXT_TYPE') > > - if sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative: > > + if (sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative) > > and not sdk_include_nativesdk: > > # Create the filtered task list used to generate the sstate cache > > shipped with the SDK > > tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt' > > create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath) > > @@ -657,9 +676,16 @@ fakeroot python do_populate_sdk_ext() { > > d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}') > > # ESDKs have a libc from the buildtools so ensure we don't ship > > linguas twice > > d.delVar('SDKIMAGE_LINGUAS') > > + if d.getVar("SDK_INCLUDE_NATIVESDK") == '1': > > + generate_nativesdk_lockedsigs(d) > > populate_sdk_common(d) > > } > > > > +def generate_nativesdk_lockedsigs(d): > > + import oe.copy_buildsystem > > + sigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc' > > + oe.copy_buildsystem.generate_locked_sigs(sigfile, d) > > + > > def get_ext_sdk_depends(d): > > # Note: the deps varflag is a list not a string, so we need to specify > > expand=False > > deps = d.getVarFlag('do_image_complete', 'deps', False) > > diff --git a/meta/lib/oe/copy_buildsystem.py > > b/meta/lib/oe/copy_buildsystem.py > > index cb663b2..31a84f5 100644 > > --- a/meta/lib/oe/copy_buildsystem.py > > +++ b/meta/lib/oe/copy_buildsystem.py > > @@ -177,7 +177,7 @@ def generate_locked_sigs(sigfile, d): > > tasks = ['%s:%s' % (v[2], v[1]) for v in depd.values()] > > bb.parse.siggen.dump_lockedsigs(sigfile, tasks) > > > > -def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, > > pruned_output): > > +def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, > > onlynative, pruned_output): > > with open(lockedsigs, 'r') as infile: > > bb.utils.mkdirhier(os.path.dirname(pruned_output)) > > with open(pruned_output, 'w') as f: > > @@ -187,7 +187,11 @@ def prune_lockedsigs(excluded_tasks, excluded_targets, > > lockedsigs, pruned_output > > if line.endswith('\\\n'): > > splitval = line.strip().split(':') > > if not splitval[1] in excluded_tasks and not > > splitval[0] in excluded_targets: > > - f.write(line) > > + if onlynative: > > + if 'nativesdk' in splitval[0]: > > + f.write(line) > > + else: > > + f.write(line) > > else: > > f.write(line) > > invalue = False > > -- > > 2.7.4 > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > [email protected] > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
