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> > > 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