diff options
author | Charlie Davies <charles.davies@whitetree.xyz> | 2021-02-18 20:52:20 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-03-12 16:47:23 +0000 |
commit | 5df201d746f26154213e6d15d2721cd35b38b59e (patch) | |
tree | a9469c04277c8327a23efbb873c7d43728f72f94 | |
parent | 90c7d1815e41243323d32b9dbb865757a922578a (diff) | |
download | bitbake-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.py | 10 |
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 |