From: Alexander Kanavin Date: Tue, 13 Aug 2019 18:24:11 +0000 (+0200) Subject: insane.bbclass: in file-rdeps do not look into RDEPENDS recursively X-Git-Tag: uninative-2.7~491 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=08e2b5a31b23b98459479caf6ec5f5c6fc19d57a;p=openembedded-core.git insane.bbclass: in file-rdeps do not look into RDEPENDS recursively Recursive RDEPENDS resolution requires that all of the dependent recipes' packaging has completed. There is no mechanism to ensure that and therefore races were observed. This change effectively requires recipes to list their runtime file dependencies explicitly rather than have them pulled indirectly. This may require a bit of fixing in layers, but should result in a better definition of runtime file dependencies. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 35c4fdb491..9b886d1380 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -722,25 +722,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d): filerdepends[subkey] = key[13:] if filerdepends: - next = rdepends done = rdepends[:] - # Find all the rdepends on the dependency chain - while next: - new = [] - for rdep in next: - rdep_data = oe.packagedata.read_subpkgdata(rdep, d) - sub_rdeps = rdep_data.get("RDEPENDS_" + rdep) - if not sub_rdeps: - continue - for sub_rdep in bb.utils.explode_deps(sub_rdeps): - if sub_rdep in done: - continue - if oe.packagedata.has_subpkgdata(sub_rdep, d): - # It's a new rdep - done.append(sub_rdep) - new.append(sub_rdep) - next = new - # Add the rprovides of itself if pkg not in done: done.insert(0, pkg)