[OE-core] [PATCH 2/2] package_manager.py: RpmPM: don't add smart channel if already added

Mark Hatle mark.hatle at windriver.com
Mon Mar 3 15:02:35 UTC 2014


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.palcu at 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')
>
>




More information about the Openembedded-core mailing list