diff mbox series

[1/6] bbconfigbuild/configfragments.py: run discover_fragments() only once when enabling them

Message ID 20251029120835.4075555-1-alex.kanavin@gmail.com
State New
Headers show
Series [1/6] bbconfigbuild/configfragments.py: run discover_fragments() only once when enabling them | expand

Commit Message

Alexander Kanavin Oct. 29, 2025, 12:08 p.m. UTC
From: Alexander Kanavin <alex@linutronix.de>

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/lib/bbconfigbuild/configfragments.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/lib/bbconfigbuild/configfragments.py b/meta/lib/bbconfigbuild/configfragments.py
index 21baedc9a42..60cdced555c 100644
--- a/meta/lib/bbconfigbuild/configfragments.py
+++ b/meta/lib/bbconfigbuild/configfragments.py
@@ -97,8 +97,8 @@  class ConfigFragmentsPlugin(LayerPlugin):
                     print_fragment(f, args.verbose, is_enabled=False)
             print('')
 
-    def fragment_exists(self, fragmentname):
-        for layername, layerdata in self.discover_fragments().items():
+    def fragment_exists(self, fragmentname, fragments):
+        for layername, layerdata in fragments.items():
             for f in layerdata['fragments']:
               if f['name'] == fragmentname:
                   return True
@@ -136,8 +136,9 @@  class ConfigFragmentsPlugin(LayerPlugin):
                     enabled_fragments.append(f)
             return " ".join(enabled_fragments), None, 0, True
 
+        fragments = self.discover_fragments()
         for f in args.fragmentname:
-            if not self.fragment_exists(f) and not self.builtin_fragment_exists(f):
+            if not self.fragment_exists(f, fragments) and not self.builtin_fragment_exists(f):
                 raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f))
 
         self.create_conf(args.confpath)