From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: bitbake-devel@lists.openembedded.org
Subject: [PATCH] lib/bb/runqueue: avoid marking runtime dependencies as covered
Date: Fri, 11 Nov 2011 18:38:15 +0000 [thread overview]
Message-ID: <1321036695-937-1-git-send-email-paul.eggleton@linux.intel.com> (raw)
The code which populates setscene_covered list was adding a task to the
covered list if all of the tasks that depend upon it were also covered;
however, this means that tasks that would have installed "runtime"
dependencies were being marked as covered also, e.g. gmp-native and
mpfr-native are needed by gcc-cross at runtime since they are shared
libraries that gcc links to, but their do_populate_sysroot tasks were
being marked as covered, resulting in failures later on if gcc-cross was
available from sstate but mpfr-native and gmp-native weren't.
Since we currently have no real way to handle runtime dependencies for
native packages, add a workaround which avoids marking tasks as covered
if one or more of their revdeps are from a different recipe.
Fixes [YOCTO #1536].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
lib/bb/runqueue.py | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 7a39d89..a725388 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1208,8 +1208,13 @@ class RunQueueExecuteTasks(RunQueueExecute):
if task in self.rq.scenequeue_covered:
continue
if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
- self.rq.scenequeue_covered.add(task)
found = True
+ for revdep in self.rqdata.runq_revdeps[task]:
+ if self.rqdata.runq_fnid[task] != self.rqdata.runq_fnid[revdep]:
+ found = False
+ break
+ if found:
+ self.rq.scenequeue_covered.add(task)
# Detect when the real task needs to be run anyway by looking to see
# if any of its dependencies within the same package are scheduled
--
1.7.5.4
next reply other threads:[~2011-11-11 18:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-11 18:38 Paul Eggleton [this message]
2011-11-15 11:54 ` [PATCH] lib/bb/runqueue: avoid marking runtime dependencies as covered Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1321036695-937-1-git-send-email-paul.eggleton@linux.intel.com \
--to=paul.eggleton@linux.intel.com \
--cc=bitbake-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.