On 12/18/2012 11:56 AM, Tom Zanussi wrote: > On Tue, 2012-12-18 at 11:37 -0500, Philip Balister wrote: >> On 12/18/2012 09:33 AM, Tom Zanussi wrote: >>> On Tue, 2012-12-18 at 09:13 -0500, Philip Balister wrote: >>>> On 12/17/2012 12:51 PM, tom.zanu...@intel.com wrote: >>>>> From: Tom Zanussi <tom.zanu...@intel.com> >>>>> >>>>> Add a new yocto_layer_create() function that will be used to generate >>>>> a generic yocto layer (for the new 'yocto-layer' command). >>>> >>>> How is a "yocto layer" different from an OpenEmbedded layer? If you >>>> insist on "yocto layter", wouldn't "Yocto Project layer" be more accurate. >>>> >>> >>> Technically it isn't any different, but it's based on the template >>> engine code and templates that make up the 'Yocto BSP Tools', which for >>> various reasons (they create Yocto-compliant BSP layers, something not >>> of interest to OpenEmbedded proper, and it probably doesn't make sense >>> to clutter oe-core with a bunch of 'template data', etc) live in poky >>> and not oe-core. >> >> Actually, BSP's should work standalone with oe-core, so it is of interest. >> >>> >>> As such, the new tool is named 'yocto-layer' to match the other existing >>> Yocto BSP tools, 'yocto-bsp' and 'yocto-kernel'. >> >> I will now get pedantic. <rday mode on> >> >> The meta-yocto layer functions as a distro layer. So referring to things >> as yocto this and yocto that, suggests they only work with the >> meta-yocto layer. >> >> So it doesn't make sense to me to put general purpose tools in a distro >> layer. >> >> <rday mode off> >> > > Right, none of the yocto- tools has anything to do with the meta-yocto > layer, so if that's how it's taken, then, yeah, it's misleading. > > It wouldn't bother me to do a global search and replace of 'yocto' with > 'oe' for the tools - I guess that would imply it would all be moving > into oe-core, though. Is that what you're suggesting?
I am not sure what the best way to clear up terminology is at the moment, and given it is he week before Christmas, a number of people I would like to discuss this with are on holiday, so we can defer the solution until next year. In the meantime, I have no problem with people getting work done, so I have no objection to the patch moving forward. Philip > > Tom > >>> >>> Tom >>> >>> >>>> One of our goals for next year should be to clean up our terminology to >>>> reduce confusion in the user community. >>>> >>>> Philip >>>> >>>>> >>>>> Signed-off-by: Tom Zanussi <tom.zanu...@intel.com> >>>>> --- >>>>> scripts/lib/bsp/engine.py | 56 >>>>> +++++++++++++++++++++++++++++++++++++++++++++++ >>>>> 1 file changed, 56 insertions(+) >>>>> >>>>> diff --git a/scripts/lib/bsp/engine.py b/scripts/lib/bsp/engine.py >>>>> index 8985544..d406e79 100644 >>>>> --- a/scripts/lib/bsp/engine.py >>>>> +++ b/scripts/lib/bsp/engine.py >>>>> @@ -1352,6 +1352,62 @@ def expand_targets(context, bsp_output_dir): >>>>> return target_files >>>>> >>>>> >>>>> +def yocto_layer_create(layer_name, scripts_path, layer_output_dir, >>>>> codedump, properties_file): >>>>> + """ >>>>> + Create yocto layer >>>>> + >>>>> + layer_name - user-defined layer name >>>>> + scripts_path - absolute path to yocto /scripts dir >>>>> + bsp_output_dir - dirname to create for BSP >>>>> + codedump - dump generated code to bspgen.out >>>>> + properties_file - use values from here if nonempty i.e no prompting >>>>> + >>>>> + arch - the arch for a generic layer is 'generic-layer', defined in >>>>> + scripts/lib/bsp/substrate/target/generic-layer >>>>> + """ >>>>> + if os.path.exists(bsp_output_dir): >>>>> + print "\nBSP output dir already exists, exiting. (%s)" % >>>>> bsp_output_dir >>>>> + sys.exit(1) >>>>> + >>>>> + properties = None >>>>> + >>>>> + if properties_file: >>>>> + try: >>>>> + infile = open(properties_file, "r") >>>>> + except IOError: >>>>> + print "Couldn't open properties file %s for reading, >>>>> exiting" % properties_file >>>>> + sys.exit(1) >>>>> + >>>>> + properties = json.load(infile) >>>>> + >>>>> + os.mkdir(bsp_output_dir) >>>>> + >>>>> + context = create_context(machine, arch, scripts_path) >>>>> + target_files = expand_targets(context, bsp_output_dir) >>>>> + >>>>> + input_lines = gather_inputlines(target_files) >>>>> + >>>>> + program_lines = [] >>>>> + >>>>> + gen_program_header_lines(program_lines) >>>>> + >>>>> + gen_initial_property_vals(input_lines, program_lines) >>>>> + >>>>> + if properties: >>>>> + gen_supplied_property_vals(properties, program_lines) >>>>> + >>>>> + gen_program_machine_lines(machine, program_lines) >>>>> + >>>>> + if not properties: >>>>> + gen_program_input_lines(input_lines, program_lines, context) >>>>> + >>>>> + gen_program_lines(target_files, program_lines) >>>>> + >>>>> + run_program_lines(program_lines, codedump) >>>>> + >>>>> + print "New %s BSP created in %s" % (arch, bsp_output_dir) >>>>> + >>>>> + >>>>> def yocto_bsp_create(machine, arch, scripts_path, bsp_output_dir, >>>>> codedump, properties_file): >>>>> """ >>>>> Create bsp >>>>> >>> >>> >>> >>> > > > > _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto