meta/lib/bblayers/buildconf.py: add support for configuration summaries

(From OE-Core rev: 7117e3d08570202c79d618d4fb6a67895b1df564)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin 2024-02-16 12:52:19 +01:00 committed by Richard Purdie
parent 6f29e2319c
commit f6f50200c9
2 changed files with 10 additions and 4 deletions

View File

@ -20,7 +20,10 @@ def plugin_init(plugins):
return BuildConfPlugin() return BuildConfPlugin()
class BuildConfPlugin(LayerPlugin): class BuildConfPlugin(LayerPlugin):
notes_fixme = """FIXME: Please place here the description of this build configuration. notes_fixme = """FIXME: Please place here the detailed instructions for using this build configuration.
They will be shown to the users when they set up their builds via TEMPLATECONF.
"""
summary_fixme = """FIXME: Please place here the short summary of what this build configuration is for.
It will be shown to the users when they set up their builds via TEMPLATECONF. It will be shown to the users when they set up their builds via TEMPLATECONF.
""" """
@ -41,14 +44,17 @@ It will be shown to the users when they set up their builds via TEMPLATECONF.
bblayers_data = bblayers_data.replace(abspath, "##OEROOT##/" + relpath) bblayers_data = bblayers_data.replace(abspath, "##OEROOT##/" + relpath)
dest.write(bblayers_data) dest.write(bblayers_data)
with open(os.path.join(destdir, "conf-summary.txt"), 'w') as dest:
dest.write(self.summary_fixme)
with open(os.path.join(destdir, "conf-notes.txt"), 'w') as dest: with open(os.path.join(destdir, "conf-notes.txt"), 'w') as dest:
dest.write(self.notes_fixme) dest.write(self.notes_fixme)
logger.info("""Configuration template placed into {} logger.info("""Configuration template placed into {}
Please review the files in there, and particularly provide a configuration description in {} Please review the files in there, and particularly provide a configuration summary in {}
and notes in {}
You can try out the configuration with You can try out the configuration with
TEMPLATECONF={} . {}/oe-init-build-env build-try-{}""" TEMPLATECONF={} . {}/oe-init-build-env build-try-{}"""
.format(destdir, os.path.join(destdir, "conf-notes.txt"), destdir, oecorepath, templatename)) .format(destdir, os.path.join(destdir, "conf-summary.txt"), os.path.join(destdir, "conf-notes.txt"), destdir, oecorepath, templatename))
def do_save_build_conf(self, args): def do_save_build_conf(self, args):
""" Save the currently active build configuration (conf/local.conf, conf/bblayers.conf) as a template into a layer.\n This template can later be used for setting up builds via TEMPLATECONF. """ """ Save the currently active build configuration (conf/local.conf, conf/bblayers.conf) as a template into a layer.\n This template can later be used for setting up builds via TEMPLATECONF. """

View File

@ -121,7 +121,7 @@ class BitbakeLayers(OESelftestTestCase):
self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername], str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority)) self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername], str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority))
result = runCmd('bitbake-layers save-build-conf {} {}'.format(layerpath, "buildconf-1")) result = runCmd('bitbake-layers save-build-conf {} {}'.format(layerpath, "buildconf-1"))
for f in ('local.conf.sample', 'bblayers.conf.sample', 'conf-notes.txt'): for f in ('local.conf.sample', 'bblayers.conf.sample', 'conf-summary.txt', 'conf-notes.txt'):
fullpath = os.path.join(layerpath, "conf", "templates", "buildconf-1", f) fullpath = os.path.join(layerpath, "conf", "templates", "buildconf-1", f)
self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath)) self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath))