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. As such, the new tool is named 'yocto-layer' to match the other existing Yocto BSP tools, 'yocto-bsp' and 'yocto-kernel'. 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