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

Reply via email to