summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2006-03-13 22:58:51 +0000
committerHolger Hans Peter Freyther <zecke@selfish.org>2006-03-13 22:58:51 +0000
commitd17325cdaad9c3a4e0de1dbbbd546a5778839162 (patch)
tree9fb5c2044d4f6a68cfb0ba0bf31d931749414955
parent42af6588791236c95c21053ac9d6c54281cf1952 (diff)
downloadbitbake-d17325cdaad9c3a4e0de1dbbbd546a5778839162.tar.gz
bitbake/lib/bb/event.py:
Introduce a NoProvider Event. It contains a 'runtime' flag, the item name and the configuration data. bitbake/bin/bitbake: Fire the NoProvider event at some spots. There are more events we need to fire. Ideally the BitBake UI would just be a handler...
-rwxr-xr-xbin/bitbake4
-rw-r--r--lib/bb/event.py13
2 files changed, 17 insertions, 0 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 8ecd98ba6..e6bdbee4d 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -492,6 +492,7 @@ class BBCooker:
if not item in self.status.providers:
bb.error("Nothing provides dependency %s" % item)
+ bb.event.fire(bb.event.NoProvider(item,self.configuration.data))
return 0
all_p = self.status.providers[item]
@@ -539,6 +540,7 @@ class BBCooker:
return 1
bb.note("no buildable providers for %s" % item)
+ bb.event.fire(bb.event.NoProvider(item,self.configuration.data))
return 0
def buildRProvider( self, item , buildAllDeps ):
@@ -558,6 +560,7 @@ class BBCooker:
if not all_p:
bb.error("Nothing provides runtime dependency %s" % (item))
+ bb.event.fire(bb.event.NoProvider(item,self.configuration.data,runtime=True))
return False
for p in all_p:
@@ -612,6 +615,7 @@ class BBCooker:
return True
bb.error("No buildable providers for runtime %s" % item)
+ bb.event.fire(bb.event.NoProvider(item,self.configuration.data))
return False
def getProvidersRun(self, rdepend):
diff --git a/lib/bb/event.py b/lib/bb/event.py
index 673f307ba..cbe6d2a11 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -212,6 +212,19 @@ class UnsatisfiedDep(DepBase):
class RecursiveDep(DepBase):
"""Recursive Dependency"""
+class NoProvider(Event):
+ """No Provider for an Event"""
+
+ def __init__(self, item, data,runtime=False):
+ Event.__init__(self, data)
+ self._item = item
+ self._runtime = runtime
+
+ def getItem(self):
+ return self._item
+
+ def isRuntime(self):
+ return self._runtime
class MultipleProviders(Event):
"""Multiple Providers"""