This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 bitbake-dev/bin/bitbake        |    3 +++
 bitbake-dev/lib/bb/runqueue.py |    2 +-
 bitbake-dev/lib/bb/taskdata.py |    3 ++-
 bitbake/bin/bitbake            |    3 +++
 bitbake/doc/bitbake.1          |    3 +++
 bitbake/lib/bb/cooker.py       |    8 ++++----
 bitbake/lib/bb/runqueue.py     |    4 +++-
 bitbake/lib/bb/taskdata.py     |    3 ++-
 scripts/poky-env-internal      |    2 +-
 9 files changed, 22 insertions(+), 9 deletions(-)

New commits:
commit b296ae263ce12294a7264ed09b987acda73e4f67
Author: Richard Purdie <[EMAIL PROTECTED]>
Date:   Tue Oct 28 22:15:06 2008 +0000

    bitbake: Add tryaltconfigs option to disable the alternative configuration 
attempts and make the 'continue' more aggresive

commit db140d9ce0a5918cab2615862402c07ef81c6944
Author: Richard Purdie <[EMAIL PROTECTED]>
Date:   Tue Oct 28 22:10:45 2008 +0000

    scripts/poky-env-internal: Add POKYMODE to BB_ENV_WHITELIST


Diff in this email is a maximum of 400 lines.
diff --git a/bitbake-dev/bin/bitbake b/bitbake-dev/bin/bitbake
index 3e87825..920877e 100755
--- a/bitbake-dev/bin/bitbake
+++ b/bitbake-dev/bin/bitbake
@@ -69,6 +69,9 @@ Default BBFILES are the .bb files in the current 
directory.""" )
     parser.add_option( "-k", "--continue", help = "continue as much as 
possible after an error. While the target that failed, and those that depend on 
it, cannot be remade, the other dependencies of these targets can be processed 
all the same.",
                action = "store_false", dest = "abort", default = True )
 
+    parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds 
by trying to use alternative providers where possible.",
+               action = "store_true", dest = "tryaltconfigs", default = False )
+
     parser.add_option( "-f", "--force", help = "force run of specified cmd, 
regardless of stamp status",
                action = "store_true", dest = "force", default = False )
 
diff --git a/bitbake-dev/lib/bb/runqueue.py b/bitbake-dev/lib/bb/runqueue.py
index 1c911ef..01452d2 100644
--- a/bitbake-dev/lib/bb/runqueue.py
+++ b/bitbake-dev/lib/bb/runqueue.py
@@ -869,7 +869,7 @@ class RunQueue:
             self.finish_runqueue()
 
         if self.state is runQueueFailed:
-            if self.taskData.abort:
+            if not self.taskData.tryaltconfigs:
                 raise bb.runqueue.TaskFailure(self.failed_fnids)
             for fnid in self.failed_fnids:
                 self.taskData.fail_fnid(fnid)
diff --git a/bitbake-dev/lib/bb/taskdata.py b/bitbake-dev/lib/bb/taskdata.py
index 566614e..782dfb0 100644
--- a/bitbake-dev/lib/bb/taskdata.py
+++ b/bitbake-dev/lib/bb/taskdata.py
@@ -30,7 +30,7 @@ class TaskData:
     """
     BitBake Task Data implementation
     """
-    def __init__(self, abort = True):
+    def __init__(self, abort = True, tryaltconfigs = False):
         self.build_names_index = []
         self.run_names_index = []
         self.fn_index = []
@@ -57,6 +57,7 @@ class TaskData:
         self.failed_fnids = []
 
         self.abort = abort
+        self.tryaltconfigs = tryaltconfigs
 
     def getbuild_id(self, name):
         """
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 9a9b6d3..6a69e34 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -60,6 +60,9 @@ Default BBFILES are the .bb files in the current 
directory.""" )
     parser.add_option( "-k", "--continue", help = "continue as much as 
possible after an error. While the target that failed, and those that depend on 
it, cannot be remade, the other dependencies of these targets can be processed 
all the same.",
                action = "store_false", dest = "abort", default = True )
 
+    parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds 
by trying to use alternative providers where possible.",
+               action = "store_true", dest = "tryaltconfigs", default = False )
+
     parser.add_option( "-f", "--force", help = "force run of specified cmd, 
regardless of stamp status",
                action = "store_true", dest = "force", default = False )
 
diff --git a/bitbake/doc/bitbake.1 b/bitbake/doc/bitbake.1
index 01172d7..e687f0a 100644
--- a/bitbake/doc/bitbake.1
+++ b/bitbake/doc/bitbake.1
@@ -54,6 +54,9 @@ continue as much as possible after an error. While the target 
that failed, and
 those that depend on it, cannot be remade, the other dependencies of these
 targets can be processed all the same.
 .TP
+.B \-a, \-\-tryaltconfigs
+continue with builds by trying to use alternative providers where possible.
+.TP
 .B \-f, \-\-force
 force run of specified cmd, regardless of stamp status
 .TP
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 7477ee6..c5d640d 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -194,7 +194,7 @@ class BBCooker:
             bb.data.update_data(localdata)
             bb.data.expandKeys(localdata)
 
-            taskdata = bb.taskdata.TaskData(self.configuration.abort)
+            taskdata = bb.taskdata.TaskData(self.configuration.abort, 
self.configuration.tryaltconfigs)
 
             try:
                 taskdata.add_provider(localdata, self.status, pkgs_to_build[0])
@@ -243,7 +243,7 @@ class BBCooker:
         localdata = data.createCopy(self.configuration.data)
         bb.data.update_data(localdata)
         bb.data.expandKeys(localdata)
-        taskdata = bb.taskdata.TaskData(self.configuration.abort)
+        taskdata = bb.taskdata.TaskData(self.configuration.abort, 
self.configuration.tryaltconfigs)
 
         runlist = []
         try:
@@ -500,7 +500,7 @@ class BBCooker:
             bb.build.del_stamp('do_%s' % self.configuration.cmd, 
self.configuration.data)
 
         # Setup taskdata structure
-        taskdata = bb.taskdata.TaskData(self.configuration.abort)
+        taskdata = bb.taskdata.TaskData(self.configuration.abort, 
self.configuration.tryaltconfigs)
         taskdata.add_provider(self.configuration.data, self.status, item)
 
         buildname = bb.data.getVar("BUILDNAME", self.configuration.data)
@@ -534,7 +534,7 @@ class BBCooker:
         bb.data.update_data(localdata)
         bb.data.expandKeys(localdata)
 
-        taskdata = bb.taskdata.TaskData(self.configuration.abort)
+        taskdata = bb.taskdata.TaskData(self.configuration.abort, 
self.configuration.tryaltconfigs)
 
         runlist = []
         try:
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 62bd10a..2df51de 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -845,7 +845,7 @@ class RunQueue:
                     failed_fnids = self.finish_runqueue()
             if len(failed_fnids) == 0:
                 return failures
-            if self.taskData.abort:
+            if not self.taskData.tryaltconfigs:
                 raise bb.runqueue.TaskFailure(failed_fnids)
             for fnid in failed_fnids:
                 #print "Failure: %s %s %s" % (fnid, 
self.taskData.fn_index[fnid],  self.runq_task[fnid])
@@ -970,6 +970,8 @@ class RunQueue:
                     bb.msg.error(bb.msg.domain.RunQueue, "Task %s (%s) failed" 
% (task, self.get_user_idstring(task)))
                     self.failed_fnids.append(self.runq_fnid[task])
                     self.stats.taskFailed()
+                    if not self.taskData.abort:
+                        continue
                     break
                 self.task_complete(task)
                 self.stats.taskCompleted()
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index 566614e..782dfb0 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -30,7 +30,7 @@ class TaskData:
     """
     BitBake Task Data implementation
     """
-    def __init__(self, abort = True):
+    def __init__(self, abort = True, tryaltconfigs = False):
         self.build_names_index = []
         self.run_names_index = []
         self.fn_index = []
@@ -57,6 +57,7 @@ class TaskData:
         self.failed_fnids = []
 
         self.abort = abort
+        self.tryaltconfigs = tryaltconfigs
 
     def getbuild_id(self, name):
         """
diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal
index c08bfd5..e1797a0 100755
--- a/scripts/poky-env-internal
+++ b/scripts/poky-env-internal
@@ -93,4 +93,4 @@ echo
 echo "### Shell environment set up for Poky builds. ###"
 echo 
 
-export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYLIBC OEROOT http_proxy ftp_proxy"
+export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy 
ftp_proxy"
_______________________________________________
Commits mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/commits

Reply via email to