[yocto] [[AUH] 01/17] {upgradehelper, bitbake}.py: Move _get_env function to bitbake

Aníbal Limón anibal.limon at linux.intel.com
Wed Nov 25 16:00:30 PST 2015


Remove unnecesary access function (_get_env) to environment move
logic to build dictionary to bitbake env method.

Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
---
 bitbake.py       | 19 ++++++++++++++++++-
 upgradehelper.py | 26 ++++----------------------
 2 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/bitbake.py b/bitbake.py
index a1587ce..cdbce2b 100644
--- a/bitbake.py
+++ b/bitbake.py
@@ -29,6 +29,8 @@ from logging import debug as D
 from logging import error as E
 from logging import critical as C
 import sys
+import re
+
 from errors import *
 
 for path in os.environ["PATH"].split(':'):
@@ -80,7 +82,22 @@ class Bitbake(object):
         return os.path.join(self.log_dir, BITBAKE_ERROR_LOG)
 
     def env(self, recipe=None):
-        return self._cmd(recipe, "-e", output_filter="-v \"^#\"")
+        stdout = self._cmd(recipe, "-e", output_filter="-v \"^#\"")
+
+        assignment = re.compile("^([^ \t=]*)=(.*)")
+        bb_env = dict()
+        for line in stdout.split('\n'):
+            m = assignment.match(line)
+            if m:
+                if m.group(1) in bb_env:
+                    continue
+
+                bb_env[m.group(1)] = m.group(2).strip("\"")
+
+        if not bb_env:
+            raise EmptyEnvError(stdout)
+
+        return bb_env
 
     def fetch(self, recipe):
         return self._cmd(recipe, "-c fetch")
diff --git a/upgradehelper.py b/upgradehelper.py
index 0223ac0..128bc07 100755
--- a/upgradehelper.py
+++ b/upgradehelper.py
@@ -168,7 +168,7 @@ class Updater(object):
         ]
 
         try:
-            self.base_env = self._get_env()
+            self.base_env = self.bb.env()
         except EmptyEnvError as e:
             import traceback
             E( " %s\n%s" % (e.message, traceback.format_exc()))
@@ -185,24 +185,6 @@ class Updater(object):
         else:
             return "Succeeded"
 
-    def _get_env(self, pn=None):
-        stdout = self.bb.env(pn)
-
-        assignment = re.compile("^([^ \t=]*)=(.*)")
-        bb_env = dict()
-        for line in stdout.split('\n'):
-            m = assignment.match(line)
-            if m:
-                if m.group(1) in bb_env:
-                    continue
-
-                bb_env[m.group(1)] = m.group(2).strip("\"")
-
-        if not bb_env:
-            raise EmptyEnvError(stdout)
-
-        return bb_env
-
     def _buildhistory_is_enabled(self):
         enabled = False
 
@@ -226,7 +208,7 @@ class Updater(object):
         return enabled
 
     def _load_env(self):
-        self.env = self._get_env(self.pn)
+        self.env = self.bb.env(self.pn)
 
     def _create_workdir(self):
         self.workdir = os.path.join(self.uh_recipes_all_dir, self.pn)
@@ -257,7 +239,7 @@ class Updater(object):
             self.git.reset_hard()
             self.git.clean_untracked()
 
-            self.env = self._get_env(self.pn)
+            self.env = self.bb.env(self.pn)
 
     def _clean_repo(self):
         try:
@@ -296,7 +278,7 @@ class Updater(object):
     def _rename(self):
         self.recipe.rename()
 
-        self.env = self._get_env(self.pn)
+        self.env = self.bb.env(self.pn)
 
         self.recipe.update_env(self.env)
 
-- 
2.1.4




More information about the yocto mailing list