Add item (package name) to list that is searched for possible PREFERRED_PROVIDER's.
The WARNING from bitbake suggested specifying a PREFERRED_PROVIDER for the package name, but setting it did nothing because the filterRunTimeProviders searched only for the recipe names. For the example case in bug #6149, bitbake looks for PREFERRED_PROVIDER_openssh and PREFERRED_provider_dropbear. This change allows PREFERRED_PROVIDER_sshd="dropbear". Signed-off-by: Jate Sujjavanich <jate...@gmail.com> ---- The following changes since commit efe5b0940a6abc7348d8c60c456d93f5de8dda89: providers.py: Add package name to PREFERRED_PROVIDER search (2015-05-07 19:07:18 -0400) are available in the git repository at: git://github.com/jatedev/poky.git oe-core-image-rdepend-alt for you to fetch changes up to 60e7c872713ec2bef97a8bd5090d72e5e713ef31: image.bbclass/rootfs.py: PREFERRED_PROVIDER for rdepends (2015-05-07 19:07:45 -0400) ---------------------------------------------------------------- Jate Sujjavanich (1): image.bbclass/rootfs.py: PREFERRED_PROVIDER for rdepends meta/classes/image.bbclass | 14 ++++++++++++++ meta/lib/oe/rootfs.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 01f8b3f..9bcc369 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -283,6 +283,20 @@ python rootfs_process_ignore() { } do_rootfs[prefuncs] += "rootfs_process_ignore" +python rootfs_process_preferred_providers() { + inst_pkgs = d.getVar("PACKAGE_INSTALL", True).split() + pref_pkgs = list() + for pkg in inst_pkgs: + prefervar = d.getVar("PREFERRED_PROVIDER_%s" % pkg, True) + if prefervar: + inst_pkgs.remove(pkg) + pref_pkgs.append(prefervar) + bb.note("Selecting %s to provide %s due to PREFERRED_PROVIDER" % (prefervar, pkg)) + inst_pkgs.extend(pref_pkgs) + d.setVar("PACKAGE_INSTALL", ' '.join(inst_pkgs)) +} +do_rootfs[prefuncs] += "rootfs_process_preferred_providers" + # We have to delay the runtime_mapping_rename until just before rootfs runs # otherwise, the multilib renaming could step in and squash any fixups that # may have occurred. diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 6fb749f..64fa153 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -393,7 +393,7 @@ class RpmRootfs(Rootfs): pass def _log_check_error(self): - r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR|Fail)') + r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR(?!ED_PROVIDER)|Fail)') log_path = self.d.expand("${T}/log.do_rootfs") with open(log_path, 'r') as log: found_error = 0
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core