From 250b02115454d4754b734209daa45d894f76039e Mon Sep 17 00:00:00 2001
From: Richard Purdie <rpurdie@linux.intel.com>
Date: Fri, 2 Jan 2009 23:49:18 +0000
Subject: bitbake/BBHandler.py: Move handler finalisation code into a separate
 function

---
 bitbake-dev/lib/bb/parse/parse_py/BBHandler.py | 92 ++++++++++---------------
 bitbake/lib/bb/parse/parse_py/BBHandler.py     | 93 ++++++++++----------------
 2 files changed, 70 insertions(+), 115 deletions(-)

diff --git a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
index e9b950acb..00ad6ef4f 100644
--- a/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake-dev/lib/bb/parse/parse_py/BBHandler.py
@@ -76,6 +76,40 @@ def inherit(files, d):
             include(fn, file, d, "inherit")
             __inherit_cache = data.getVar('__inherit_cache', d) or []
 
+
+def finalise(fn, d):
+    data.expandKeys(d)
+    data.update_data(d)
+    anonqueue = data.getVar("__anonqueue", d, 1) or []
+    body = [x['content'] for x in anonqueue]
+    flag = { 'python' : 1, 'func' : 1 }
+    data.setVar("__anonfunc", "\n".join(body), d)
+    data.setVarFlags("__anonfunc", flag, d)
+    from bb import build
+    try:
+        t = data.getVar('T', d)
+        data.setVar('T', '${TMPDIR}/anonfunc/', d)
+        build.exec_func("__anonfunc", d)
+        data.delVar('T', d)
+        if t:
+            data.setVar('T', t, d)
+    except Exception, e:
+        bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
+        raise
+    data.delVar("__anonqueue", d)
+    data.delVar("__anonfunc", d)
+    data.update_data(d)
+
+    all_handlers = {} 
+    for var in data.getVar('__BBHANDLERS', d) or []:
+        # try to add the handler
+        handler = data.getVar(var,d)
+        bb.event.register(var, handler)
+
+    tasklist = data.getVar('__BBTASKS', d) or []
+    bb.build.add_tasks(tasklist, d)
+
+
 def handle(fn, d, include = 0):
     global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__
     __body__ = []
@@ -147,37 +181,7 @@ def handle(fn, d, include = 0):
         classes.remove(__classname__)
     else:
         if include == 0:
-            data.expandKeys(d)
-            data.update_data(d)
-            anonqueue = data.getVar("__anonqueue", d, 1) or []
-            body = [x['content'] for x in anonqueue]
-            flag = { 'python' : 1, 'func' : 1 }
-            data.setVar("__anonfunc", "\n".join(body), d)
-            data.setVarFlags("__anonfunc", flag, d)
-            from bb import build
-            try:
-                t = data.getVar('T', d)
-                data.setVar('T', '${TMPDIR}/anonfunc/', d)
-                build.exec_func("__anonfunc", d)
-                data.delVar('T', d)
-                if t:
-                    data.setVar('T', t, d)
-            except Exception, e:
-                bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
-                raise
-            data.delVar("__anonqueue", d)
-            data.delVar("__anonfunc", d)
-            set_additional_vars(fn, d, include)
-            data.update_data(d)
-
-            all_handlers = {} 
-            for var in data.getVar('__BBHANDLERS', d) or []:
-                # try to add the handler
-                handler = data.getVar(var,d)
-                bb.event.register(var, handler)
-
-            tasklist = data.getVar('__BBTASKS', d) or []
-            bb.build.add_tasks(tasklist, d)
+            finalise(fn, d)
 
         bbpath.pop(0)
     if oldfile:
@@ -384,32 +388,6 @@ def vars_from_file(mypkg, d):
     parts.extend(tmplist)
     return parts
 
-def set_additional_vars(file, d, include):
-    """Deduce rest of variables, e.g. ${A} out of ${SRC_URI}"""
-
-    return
-    # Nothing seems to use this variable
-    #bb.msg.debug(2, bb.msg.domain.Parsing, "BB %s: set_additional_vars" % file)
-
-    #src_uri = data.getVar('SRC_URI', d, 1)
-    #if not src_uri:
-    #    return
-
-    #a = (data.getVar('A', d, 1) or '').split()
-
-    #from bb import fetch
-    #try:
-    #    ud = fetch.init(src_uri.split(), d)
-    #    a += fetch.localpaths(d, ud)
-    #except fetch.NoMethodError:
-    #    pass
-    #except bb.MalformedUrl,e:
-    #    raise ParseError("Unable to generate local paths for SRC_URI due to malformed uri: %s" % e)
-    #del fetch
-
-    #data.setVar('A', " ".join(a), d)
-
-
 # Add us to the handlers list
 from bb.parse import handlers
 handlers.append({'supports': supports, 'handle': handle, 'init': init})
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 583a71c0b..3a309aed6 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -76,6 +76,40 @@ def inherit(files, d):
             include(fn, file, d, "inherit")
             __inherit_cache = data.getVar('__inherit_cache', d) or []
 
+
+def finalise(fn, d):
+    data.expandKeys(d)
+    data.update_data(d)
+    anonqueue = data.getVar("__anonqueue", d, 1) or []
+    body = [x['content'] for x in anonqueue]
+    flag = { 'python' : 1, 'func' : 1 }
+    data.setVar("__anonfunc", "\n".join(body), d)
+    data.setVarFlags("__anonfunc", flag, d)
+    from bb import build
+    try:
+        t = data.getVar('T', d)
+        data.setVar('T', '${TMPDIR}/', d)
+        build.exec_func("__anonfunc", d)
+        data.delVar('T', d)
+        if t:
+            data.setVar('T', t, d)
+    except Exception, e:
+        bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
+        raise
+    data.delVar("__anonqueue", d)
+    data.delVar("__anonfunc", d)
+    data.update_data(d)
+
+    all_handlers = {} 
+    for var in data.getVar('__BBHANDLERS', d) or []:
+        # try to add the handler
+        handler = data.getVar(var,d)
+        bb.event.register(var, handler)
+
+    tasklist = data.getVar('__BBTASKS', d) or []
+    bb.build.add_tasks(tasklist, d)
+
+
 def handle(fn, d, include = 0):
     global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__
     __body__ = []
@@ -147,38 +181,7 @@ def handle(fn, d, include = 0):
         classes.remove(__classname__)
     else:
         if include == 0:
-            data.expandKeys(d)
-            data.update_data(d)
-            anonqueue = data.getVar("__anonqueue", d, 1) or []
-            body = [x['content'] for x in anonqueue]
-            flag = { 'python' : 1, 'func' : 1 }
-            data.setVar("__anonfunc", "\n".join(body), d)
-            data.setVarFlags("__anonfunc", flag, d)
-            from bb import build
-            try:
-                t = data.getVar('T', d)
-                data.setVar('T', '${TMPDIR}/', d)
-                build.exec_func("__anonfunc", d)
-                data.delVar('T', d)
-                if t:
-                    data.setVar('T', t, d)
-            except Exception, e:
-                bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
-                raise
-            data.delVar("__anonqueue", d)
-            data.delVar("__anonfunc", d)
-            set_additional_vars(fn, d, include)
-            data.update_data(d)
-
-            all_handlers = {} 
-            for var in data.getVar('__BBHANDLERS', d) or []:
-                # try to add the handler
-                handler = data.getVar(var,d)
-                bb.event.register(var, handler)
-
-            tasklist = data.getVar('__BBTASKS', d) or []
-            bb.build.add_tasks(tasklist, d)
-
+            finalise(fn, d)
         bbpath.pop(0)
     if oldfile:
         bb.data.setVar("FILE", oldfile, d)
@@ -384,32 +387,6 @@ def vars_from_file(mypkg, d):
     parts.extend(tmplist)
     return parts
 
-def set_additional_vars(file, d, include):
-    """Deduce rest of variables, e.g. ${A} out of ${SRC_URI}"""
-
-    return
-    # Nothing seems to use this variable
-    #bb.msg.debug(2, bb.msg.domain.Parsing, "BB %s: set_additional_vars" % file)
-
-    #src_uri = data.getVar('SRC_URI', d, 1)
-    #if not src_uri:
-    #    return
-
-    #a = (data.getVar('A', d, 1) or '').split()
-
-    #from bb import fetch
-    #try:
-    #    ud = fetch.init(src_uri.split(), d)
-    #    a += fetch.localpaths(d, ud)
-    #except fetch.NoMethodError:
-    #    pass
-    #except bb.MalformedUrl,e:
-    #    raise ParseError("Unable to generate local paths for SRC_URI due to malformed uri: %s" % e)
-    #del fetch
-
-    #data.setVar('A', " ".join(a), d)
-
-
 # Add us to the handlers list
 from bb.parse import handlers
 handlers.append({'supports': supports, 'handle': handle, 'init': init})
-- 
cgit v1.2.3