On 3/3/14, 3:43 AM, Laurentiu Palcu wrote:
Make sure the channel was not already added, before attempting to add.
[YOCTO #5890]
When generating the rootfs/etc/rpm/platform file, the order should be in the
order of highest to lowest priority as well.
Smart uses this order (via an RPM API) to help determine scores when two
packages from repositories at the same priority (with different architectures)
are selected.
--Mark
Signed-off-by: Laurentiu Palcu <laurentiu.pa...@intel.com>
---
meta/lib/oe/package_manager.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 6c133c3..ee42952 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -604,11 +604,11 @@ class RpmPM(PackageManager):
# self._invoke_smart('config --set rpm-log-level=debug')
# cmd = 'config --set rpm-log-file=/tmp/smart-debug-logfile'
# self._invoke_smart(cmd)
-
+ ch_already_added = []
for canonical_arch in platform_extra:
arch = canonical_arch.split('-')[0]
arch_channel = os.path.join(self.deploy_dir, arch)
- if os.path.exists(arch_channel):
+ if os.path.exists(arch_channel) and not arch in ch_already_added:
bb.note('Note: adding Smart channel %s (%s)' %
(arch, channel_priority))
self._invoke_smart('channel --add %s type=rpm-md baseurl=%s
-y'
@@ -617,6 +617,8 @@ class RpmPM(PackageManager):
(arch, channel_priority))
channel_priority -= 5
+ ch_already_added.append(arch)
+
bb.note('adding Smart RPM DB channel')
self._invoke_smart('channel --add rpmsys type=rpm-sys -y')
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core