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 | ||
