summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2023-12-20 11:02:34 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-24 10:39:07 +0000
commitdd5475d8e38fe28314ceccd184fb1d5b31d2107d (patch)
tree096d945682e221edb333ebcae7c11141947db633 /meta/lib/oe
parentaf61f98f00345678c2b04366dd96822de7a81d20 (diff)
downloadpoky-dd5475d8e38fe28314ceccd184fb1d5b31d2107d.tar.gz
lib/packagedata.py: Add API to iterate over rprovides
Adds an API that makes it easier to iterate over the package data for a all providers of a runtime dependency. (From OE-Core rev: 68bdc219a4a819e83217f5b54c463624af8d3b9e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/packagedata.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py
index d59f6f5a56..2d1d6ddeb7 100644
--- a/meta/lib/oe/packagedata.py
+++ b/meta/lib/oe/packagedata.py
@@ -116,6 +116,21 @@ def recipename(pkg, d):
116 116
117 return pkgmap(d).get(pkg) 117 return pkgmap(d).get(pkg)
118 118
119def foreach_runtime_provider_pkgdata(d, rdep, include_rdep=False):
120 pkgdata_dir = d.getVar("PKGDATA_DIR")
121 possibles = set()
122 try:
123 possibles |= set(os.listdir("%s/runtime-rprovides/%s/" % (pkgdata_dir, rdep)))
124 except OSError:
125 pass
126
127 if include_rdep:
128 possibles.add(rdep)
129
130 for p in sorted(list(possibles)):
131 rdep_data = read_subpkgdata(p, d)
132 yield p, rdep_data
133
119def get_package_mapping(pkg, basepkg, d, depversions=None): 134def get_package_mapping(pkg, basepkg, d, depversions=None):
120 import oe.packagedata 135 import oe.packagedata
121 136