diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2019-08-13 20:24:11 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-14 17:33:49 +0100 |
commit | b199dd0edf2e09ee56e8761e93933dc295758e74 (patch) | |
tree | 39ede08045421176724aee0dcc94cd44f0fe4d95 | |
parent | c56c9b7f2ddeaf4a99c71741028ae09dfd21bd14 (diff) | |
download | poky-b199dd0edf2e09ee56e8761e93933dc295758e74.tar.gz |
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.
(From OE-Core rev: 08e2b5a31b23b98459479caf6ec5f5c6fc19d57a)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/insane.bbclass | 18 |
1 files changed, 0 insertions, 18 deletions
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): | |||
722 | filerdepends[subkey] = key[13:] | 722 | filerdepends[subkey] = key[13:] |
723 | 723 | ||
724 | if filerdepends: | 724 | if filerdepends: |
725 | next = rdepends | ||
726 | done = rdepends[:] | 725 | done = rdepends[:] |
727 | # Find all the rdepends on the dependency chain | ||
728 | while next: | ||
729 | new = [] | ||
730 | for rdep in next: | ||
731 | rdep_data = oe.packagedata.read_subpkgdata(rdep, d) | ||
732 | sub_rdeps = rdep_data.get("RDEPENDS_" + rdep) | ||
733 | if not sub_rdeps: | ||
734 | continue | ||
735 | for sub_rdep in bb.utils.explode_deps(sub_rdeps): | ||
736 | if sub_rdep in done: | ||
737 | continue | ||
738 | if oe.packagedata.has_subpkgdata(sub_rdep, d): | ||
739 | # It's a new rdep | ||
740 | done.append(sub_rdep) | ||
741 | new.append(sub_rdep) | ||
742 | next = new | ||
743 | |||
744 | # Add the rprovides of itself | 726 | # Add the rprovides of itself |
745 | if pkg not in done: | 727 | if pkg not in done: |
746 | done.insert(0, pkg) | 728 | done.insert(0, pkg) |