diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2023-12-20 11:02:34 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-24 10:37:33 +0000 |
commit | 68bdc219a4a819e83217f5b54c463624af8d3b9e (patch) | |
tree | 34a14eec1c753d0ca2af7410a8f49360879b50e9 /meta/lib/oe/packagedata.py | |
parent | 0661d29a6482d9534d221b7d3d0e124cad62b13a (diff) | |
download | openembedded-core-68bdc219a4a819e83217f5b54c463624af8d3b9e.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.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/packagedata.py')
-rw-r--r-- | meta/lib/oe/packagedata.py | 15 |
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): return pkgmap(d).get(pkg) +def foreach_runtime_provider_pkgdata(d, rdep, include_rdep=False): + pkgdata_dir = d.getVar("PKGDATA_DIR") + possibles = set() + try: + possibles |= set(os.listdir("%s/runtime-rprovides/%s/" % (pkgdata_dir, rdep))) + except OSError: + pass + + if include_rdep: + possibles.add(rdep) + + for p in sorted(list(possibles)): + rdep_data = read_subpkgdata(p, d) + yield p, rdep_data + def get_package_mapping(pkg, basepkg, d, depversions=None): import oe.packagedata |