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-15 14:36:52 +0000 |
commit | cb3cbd8bb222b6f0e5f1a07d8e524b494eded70c (patch) | |
tree | 03da3f67cb028f4453775844e55bdd962e851b9d | |
parent | 889a7ce8dea4ecf505a7a27c088f908fd0b83fc3 (diff) | |
download | poky-cb3cbd8bb222b6f0e5f1a07d8e524b494eded70c.tar.gz |
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 <charles.davies@whitetree.xyz>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/cooker.py | 10 |
1 files changed, 8 insertions, 2 deletions
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: | |||
1071 | if pn in self.recipecaches[mc].providers: | 1071 | if pn in self.recipecaches[mc].providers: |
1072 | filenames = self.recipecaches[mc].providers[pn] | 1072 | filenames = self.recipecaches[mc].providers[pn] |
1073 | eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc]) | 1073 | eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc]) |
1074 | filename = eligible[0] | 1074 | if eligible is not None: |
1075 | filename = eligible[0] | ||
1076 | else: | ||
1077 | filename = None | ||
1075 | return None, None, None, filename | 1078 | return None, None, None, filename |
1076 | elif pn in self.recipecaches[mc].pkg_pn: | 1079 | elif pn in self.recipecaches[mc].pkg_pn: |
1077 | return bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn) | 1080 | (latest, latest_f, preferred_ver, preferred_file, required) = bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn) |
1081 | if required and preferred_file is None: | ||
1082 | return None, None, None, None | ||
1083 | return (latest, latest_f, preferred_ver, preferred_file) | ||
1078 | else: | 1084 | else: |
1079 | return None, None, None, None | 1085 | return None, None, None, None |
1080 | 1086 | ||