]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bbconfigbuild/configfragments.py: run discover_fragments() only once when enabling...
authorAlexander Kanavin <alex@linutronix.de>
Thu, 30 Oct 2025 09:22:43 +0000 (10:22 +0100)
committerMathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Tue, 4 Nov 2025 09:42:40 +0000 (10:42 +0100)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/lib/bbconfigbuild/configfragments.py

index 21baedc9a4282723f01af4f3346d2613b489f5fe..60cdced555c633d8b0893faa6c28cce501303c5d 100644 (file)
@@ -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)