aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharlie Davies <charles.davies@whitetree.xyz>2021-02-18 20:52:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-12 16:47:23 +0000
commit5df201d746f26154213e6d15d2721cd35b38b59e (patch)
treea9469c04277c8327a23efbb873c7d43728f72f94
parent90c7d1815e41243323d32b9dbb865757a922578a (diff)
downloadbitbake-5df201d746f26154213e6d15d2721cd35b38b59e.tar.gz
bitbake: cooker: Add REQUIRED_VERSION checks
Add logic to check that if REQUIRED_VERSION has been set that the cooker class method findBestProviders properly handles the case where the REQUIRED_VERSION has not been found. Fixes [YOCTO #10096] Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cooker.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index d3bc16e62..39e10e613 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1071,10 +1071,16 @@ class BBCooker:
if pn in self.recipecaches[mc].providers:
filenames = self.recipecaches[mc].providers[pn]
eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc])
- filename = eligible[0]
+ if eligible is not None:
+ filename = eligible[0]
+ else:
+ filename = None
return None, None, None, filename
elif pn in self.recipecaches[mc].pkg_pn:
- return bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
+ (latest, latest_f, preferred_ver, preferred_file, required) = bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
+ if required and preferred_file is None:
+ return None, None, None, None
+ return (latest, latest_f, preferred_ver, preferred_file)
else:
return None, None, None, None