diff options
| -rw-r--r-- | meta/lib/oe/package_manager.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 810b728870..292ed44461 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
| @@ -760,6 +760,22 @@ class RpmPM(PackageManager): | |||
| 760 | # bb.note('%s -> %s' % (pkg, pkg + '@' + arch)) | 760 | # bb.note('%s -> %s' % (pkg, pkg + '@' + arch)) |
| 761 | return pkg + '@' + arch | 761 | return pkg + '@' + arch |
| 762 | 762 | ||
| 763 | # Search provides if not found by pkgname. | ||
| 764 | bb.note('Not found %s by name, searching provides ...' % pkg) | ||
| 765 | cmd = "%s %s query --provides %s --show-format='$name-$version'" % \ | ||
| 766 | (self.smart_cmd, self.smart_opt, pkg) | ||
| 767 | cmd += " | sed -ne 's/ *Provides://p'" | ||
| 768 | bb.note('cmd: %s' % cmd) | ||
| 769 | output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) | ||
| 770 | # Found a provider | ||
| 771 | if output: | ||
| 772 | bb.note('Found providers for %s: %s' % (pkg, output)) | ||
| 773 | for p in output.split(): | ||
| 774 | for arch in feed_archs: | ||
| 775 | arch = arch.replace('-', '_') | ||
| 776 | if p.rstrip().endswith('@' + arch): | ||
| 777 | return p | ||
| 778 | |||
| 763 | return "" | 779 | return "" |
| 764 | 780 | ||
| 765 | ''' | 781 | ''' |
