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 /bitbake | |
| 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>
Diffstat (limited to 'bitbake')
| -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 | ||
