From 44b1fe43b0e97b1d01b95cd6ce40fbad78e65ab3 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Thu, 28 Jun 2018 12:53:41 -0500 Subject: bitbake-bblayers/create: Fix layer name generation The path to where the layer was being created was taken verbatim as the name of the layer when generating the layer.conf and README files from templates. This causes problems in the layer.conf file because it would result in strangely named variables like BBFILE_PATTERN_../my-layer = "..." Instead of blindly taking the path, use the name of the last component of the path as the layer name. Additionally, rework the template files to use python format strings with named parameters so that the same argument doesn't have to be repeated multiple times. [YOCTO #12808] (From OE-Core rev: 01071c5d524a878d9de4814196cba2f15739796e) Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- meta/lib/bblayers/create.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'meta/lib/bblayers/create.py') diff --git a/meta/lib/bblayers/create.py b/meta/lib/bblayers/create.py index e06949c92b..2ebf151ad1 100644 --- a/meta/lib/bblayers/create.py +++ b/meta/lib/bblayers/create.py @@ -30,8 +30,10 @@ class CreatePlugin(LayerPlugin): conf = os.path.join(layerdir, 'conf') bb.utils.mkdirhier(conf) + layername = os.path.basename(os.path.normpath(args.layerdir)) + # Create the README from templates/README - readme_template = read_template('README') % (args.layerdir, args.layerdir, args.layerdir, args.layerdir, args.layerdir, args.layerdir) + readme_template = read_template('README').format(layername=layername) readme = os.path.join(layerdir, 'README') with open(readme, 'w') as fd: fd.write(readme_template) @@ -47,7 +49,8 @@ class CreatePlugin(LayerPlugin): compat = self.tinfoil.config_data.getVar('LAYERSERIES_COMPAT_core') or "" # Create the layer.conf from templates/layer.conf - layerconf_template = read_template('layer.conf') % (args.layerdir, args.layerdir, args.layerdir, args.priority, args.layerdir, args.layerdir, compat) + layerconf_template = read_template('layer.conf').format( + layername=layername, priority=args.priority, compat=compat) layerconf = os.path.join(conf, 'layer.conf') with open(layerconf, 'w') as fd: fd.write(layerconf_template) -- cgit v1.2.3-54-g00ecf