[OE-core] [PATCH 1/1] stress-ng: Add bash to DEPENDS

Alexander Kanavin alex.kanavin at gmail.com
Tue Aug 6 14:05:46 UTC 2019


On Tue, 6 Aug 2019 at 15:22, Alexander Kanavin <alex.kanavin at gmail.com>
wrote:

> I think the issue might be actually in the QA check where it looks beyond
> the recipe's immediate RDEPENDS (and then fails or not depending on whether
> those indirect dependencies have been packaged). I need to better
> understand what happens there so will add some printouts first. The problem
> does happen with latest master.
>

I can confirm that this bit in insane.bbclass is non-deterministic:

                # 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

It only fully expands the dependencies if all of them have been already
packaged. As there is no mechanism to ensure that package_qa runs after
packaging all of the recursive RDEPENDS, this is causing a race between
packaging them, and running the package qa check.

I think the right way to address this is to actually drop the recursive
RDEPENDS resolution, and only consider the immediate runtime dependencies.
Alternatively, we may introduce additional task dependencies to fix the
race. Thoughts?

Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190806/deaf2f06/attachment-0001.html>


More information about the Openembedded-core mailing list