From cb3cbd8bb222b6f0e5f1a07d8e524b494eded70c Mon Sep 17 00:00:00 2001 From: Charlie Davies Date: Thu, 18 Feb 2021 20:52:20 +0000 Subject: bitbake: 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] (Bitbake rev: 5df201d746f26154213e6d15d2721cd35b38b59e) Signed-off-by: Charlie Davies Signed-off-by: Richard Purdie --- bitbake/lib/bb/cooker.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index d3bc16e625..39e10e6133 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/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 -- cgit v1.2.3-54-g00ecf