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:39:07 +0000 |
commit | dd5475d8e38fe28314ceccd184fb1d5b31d2107d (patch) | |
tree | 096d945682e221edb333ebcae7c11141947db633 /meta | |
parent | af61f98f00345678c2b04366dd96822de7a81d20 (diff) | |
download | poky-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')
-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): | |||
116 | 116 | ||
117 | return pkgmap(d).get(pkg) | 117 | return pkgmap(d).get(pkg) |
118 | 118 | ||
119 | def 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 | |||
119 | def get_package_mapping(pkg, basepkg, d, depversions=None): | 134 | def get_package_mapping(pkg, basepkg, d, depversions=None): |
120 | import oe.packagedata | 135 | import oe.packagedata |
121 | 136 | ||