On 06/11/2023 13:54:16+0100, Alexander Kanavin wrote: > Thanks, I just sent a corrected patch. >
Thanks! > Alex > > On Sat, 4 Nov 2023 at 00:50, Alexandre Belloni > <alexandre.bell...@bootlin.com> wrote: > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/7419/steps/16/logs/stdio > > > > On 03/11/2023 11:28:06+0100, Alexander Kanavin wrote: > > > copy_buildsystem() has become far too large and needs to be split > > > into shorter and more understandable pieces; some of those > > > pieces will be reused for the purpose of providing esdk mode > > > directly from a plain yocto build. > > > > > > Signed-off-by: Alexander Kanavin <a...@linutronix.de> > > > --- > > > meta/classes-recipe/populate_sdk_ext.bbclass | 59 ++++++++++++++++---- > > > 1 file changed, 47 insertions(+), 12 deletions(-) > > > > > > diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass > > > b/meta/classes-recipe/populate_sdk_ext.bbclass > > > index 53adc868d47..a20f38fb210 100644 > > > --- a/meta/classes-recipe/populate_sdk_ext.bbclass > > > +++ b/meta/classes-recipe/populate_sdk_ext.bbclass > > > @@ -186,12 +186,7 @@ def create_filtered_tasklist(d, sdkbasepath, > > > tasklistfile, conf_initpath): > > > if os.path.exists(localconf + '.bak'): > > > os.replace(localconf + '.bak', localconf) > > > > > > -python copy_buildsystem () { > > > - import re > > > - import shutil > > > - import glob > > > - import oe.copy_buildsystem > > > - > > > +def copy_bitbake_and_layers(d, baseoutpath, derivative): > > > oe_init_env_script = d.getVar('OE_INIT_ENV_SCRIPT') > > > > > > conf_bbpath = '' > > > @@ -200,13 +195,7 @@ python copy_buildsystem () { > > > > > > # Copy in all metadata layers + bitbake (as repositories) > > > buildsystem = oe.copy_buildsystem.BuildSystem('extensible SDK', d) > > > - baseoutpath = d.getVar('SDK_OUTPUT') + '/' + d.getVar('SDKPATH') > > > > > > - #check if custome templateconf path is set > > > - use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF') > > > - > > > - # Determine if we're building a derivative extensible SDK (from > > > devtool build-sdk) > > > - derivative = (d.getVar('SDK_DERIVATIVE') or '') == '1' > > > if derivative: > > > workspace_name = 'orig-workspace' > > > else: > > > @@ -231,6 +220,9 @@ python copy_buildsystem () { > > > d.setVar('oe_init_build_env_path', conf_initpath) > > > d.setVar('esdk_tools_path', esdk_tools_path) > > > > > > + return (conf_initpath, conf_bbpath, core_meta_subdir, sdkbblayers) > > > + > > > +def write_devtool_config(d, baseoutpath, conf_bbpath, conf_initpath, > > > core_meta_subdir): > > > # Write out config file for devtool > > > import configparser > > > config = configparser.ConfigParser() > > > @@ -247,10 +239,12 @@ python copy_buildsystem () { > > > with open(os.path.join(baseoutpath, 'conf', 'devtool.conf'), 'w') as > > > f: > > > config.write(f) > > > > > > +def write_unlocked_sigs(d, baseoutpath): > > > unlockedsigs = os.path.join(baseoutpath, 'conf', > > > 'unlocked-sigs.inc') > > > with open(unlockedsigs, 'w') as f: > > > pass > > > > > > +def write_bblayers_conf(d, baseoutpath, sdkbblayers): > > > # Create a layer for new recipes / appends > > > bbpath = d.getVar('BBPATH') > > > env = os.environ.copy() > > > @@ -279,6 +273,9 @@ python copy_buildsystem () { > > > f.write(' $' + '{SDKBASEMETAPATH}/workspace \\\n') > > > f.write(' "\n') > > > > > > +def copy_uninative(d, baseoutpath): > > > + import shutil > > > + > > > # Copy uninative tarball > > > # For now this is where uninative.bbclass expects the tarball > > > if bb.data.inherits_class('uninative', d): > > > @@ -288,6 +285,12 @@ python copy_buildsystem () { > > > bb.utils.mkdirhier(uninative_outdir) > > > shutil.copy(uninative_file, uninative_outdir) > > > > > > + return uninative_checksum > > > + > > > +def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, > > > uninative_checksum): > > > + #check if custome templateconf path is set > > > + use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF') > > > + > > > env_passthrough = (d.getVar('BB_ENV_PASSTHROUGH_ADDITIONS') or > > > '').split() > > > env_passthrough_values = {} > > > > > > @@ -457,6 +460,9 @@ python copy_buildsystem () { > > > f.write(line) > > > f.write('\n') > > > > > > +def prepare_locked_cache(d, baseoutpath, conf_initpath): > > > + import shutil > > > + > > > # Filter the locked signatures file to just the sstate tasks we are > > > interested in > > > excluded_targets = get_sdk_install_targets(d, images_only=True) > > > sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc' > > > @@ -560,6 +566,9 @@ python copy_buildsystem () { > > > f = os.path.join(root, name) > > > os.remove(f) > > > > > > +def write_manifest(d, baseoutpath): > > > + import glob > > > + > > > # Write manifest file > > > # Note: at the moment we cannot include the env setup script here to > > > keep > > > # it updated, since it gets modified during SDK installation (see > > > @@ -583,6 +592,32 @@ python copy_buildsystem () { > > > continue > > > chksum = bb.utils.sha256_file(fn) > > > f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, > > > baseoutpath))) > > > + > > > + > > > +python copy_buildsystem () { > > > + import oe.copy_buildsystem > > > + > > > + baseoutpath = d.getVar('SDK_OUTPUT') + '/' + d.getVar('SDKPATH') > > > + > > > + # Determine if we're building a derivative extensible SDK (from > > > devtool build-sdk) > > > + derivative = (d.getVar('SDK_DERIVATIVE') or '') == '1' > > > + > > > + conf_initpath, conf_bbpath, core_meta_subdir, sdkbblayers = > > > copy_bitbake_and_layers(d, baseoutpath, derivative) > > > + > > > + write_devtool_config(d, baseoutpath, conf_bbpath, conf_initpath, > > > core_meta_subdir) > > > + > > > + write_unlocked_sigs(d, baseoutpath) > > > + > > > + write_bblayers_conf(d, baseoutpath, sdkbblayers) > > > + > > > + uninative_checksum = copy_uninative(d, baseoutpath) > > > + > > > + write_local_conf(d, baseoutpath, derivative, core_meta_subdir, > > > uninative_checksum) > > > + > > > + prepare_locked_cache(d, baseoutpath, conf_initpath) > > > + > > > + write_manifest(d, baseoutpath) > > > + > > > } > > > > > > def get_current_buildtools(d): > > > -- > > > 2.39.2 > > > > > > > > > > > > > > > > > > > > -- > > Alexandre Belloni, co-owner and COO, Bootlin > > Embedded Linux and Kernel engineering > > https://bootlin.com -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#190223): https://lists.openembedded.org/g/openembedded-core/message/190223 Mute This Topic: https://lists.openembedded.org/mt/102361115/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-