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()
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.
"""
@ -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)
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:
dest.write(self.notes_fixme)
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
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):
""" 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))
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)
self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath))