mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
lib/bbconfigbuild/configfragments: add support for listing and enabling built-in fragments
Sample output: $ bitbake-config-build enable-fragment machine/qemuarm Fragment machine/qemuarm added to /srv/storage/alex/yocto/build-64-alt/conf/auto.conf. $ bitbake-config-build list-fragments Available built-in fragments: machine/... Sets MACHINE = ... distro/... Sets DISTRO = ... Enabled built-in fragments: machine/qemuarm Sets MACHINE = "qemuarm" ... (standard on-disk fragments output follows) (From OE-Core rev: 47cb11db810bef36e791af84be1d680fd99301c7) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
41de71e062
commit
724b86c08a
|
@ -62,7 +62,22 @@ class ConfigFragmentsPlugin(LayerPlugin):
|
||||||
else:
|
else:
|
||||||
print('Name: {}\nPath: {}\nEnabled: {}\nSummary: {}\nDescription:\n{}\n'.format(f['name'], f['path'], 'yes' if is_enabled else 'no', f['summary'],''.join(f['description'])))
|
print('Name: {}\nPath: {}\nEnabled: {}\nSummary: {}\nDescription:\n{}\n'.format(f['name'], f['path'], 'yes' if is_enabled else 'no', f['summary'],''.join(f['description'])))
|
||||||
|
|
||||||
|
def print_builtin_fragments(builtin, enabled):
|
||||||
|
print('Available built-in fragments:')
|
||||||
|
builtin_dict = {i[0]:i[1] for i in [f.split(':') for f in builtin]}
|
||||||
|
for prefix,var in builtin_dict.items():
|
||||||
|
print('{}/...\tSets {} = ...'.format(prefix, var))
|
||||||
|
print('')
|
||||||
|
enabled_builtin_fragments = [f for f in enabled if self.builtin_fragment_exists(f)]
|
||||||
|
print('Enabled built-in fragments:')
|
||||||
|
for f in enabled_builtin_fragments:
|
||||||
|
prefix, value = f.split('/', 1)
|
||||||
|
print('{}\tSets {} = "{}"'.format(f, builtin_dict[prefix], value))
|
||||||
|
print('')
|
||||||
|
|
||||||
all_enabled_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS') or "").split()
|
all_enabled_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS') or "").split()
|
||||||
|
all_builtin_fragments = (self.tinfoil.config_data.getVar('OE_FRAGMENTS_BUILTIN') or "").split()
|
||||||
|
print_builtin_fragments(all_builtin_fragments, all_enabled_fragments)
|
||||||
|
|
||||||
for layername, layerdata in self.discover_fragments().items():
|
for layername, layerdata in self.discover_fragments().items():
|
||||||
layerdir = layerdata['layerdir']
|
layerdir = layerdata['layerdir']
|
||||||
|
@ -89,6 +104,11 @@ class ConfigFragmentsPlugin(LayerPlugin):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def builtin_fragment_exists(self, fragmentname):
|
||||||
|
fragment_prefix = fragmentname.split("/",1)[0]
|
||||||
|
fragment_prefix_defs = set([f.split(':')[0] for f in self.tinfoil.config_data.getVar('OE_FRAGMENTS_BUILTIN').split()])
|
||||||
|
return fragment_prefix in fragment_prefix_defs
|
||||||
|
|
||||||
def create_conf(self, confpath):
|
def create_conf(self, confpath):
|
||||||
if not os.path.exists(confpath):
|
if not os.path.exists(confpath):
|
||||||
with open(confpath, 'w') as f:
|
with open(confpath, 'w') as f:
|
||||||
|
@ -112,7 +132,7 @@ class ConfigFragmentsPlugin(LayerPlugin):
|
||||||
return " ".join(enabled_fragments), None, 0, True
|
return " ".join(enabled_fragments), None, 0, True
|
||||||
|
|
||||||
for f in args.fragmentname:
|
for f in args.fragmentname:
|
||||||
if not self.fragment_exists(f):
|
if not self.fragment_exists(f) and not self.builtin_fragment_exists(f):
|
||||||
raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f))
|
raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f))
|
||||||
|
|
||||||
self.create_conf(args.confpath)
|
self.create_conf(args.confpath)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user