[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7481/8267] bitbake: cooker: Change to consistent prefile/postfile handling



commit 984da85479fa6127df806b2aa3a9fb27d268f2a3
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Thu Aug 31 17:07:24 2017 +0100

    bitbake: cooker: Change to consistent prefile/postfile handling
    
    Currently the original prefile and postfile passed when starting bitbake
    server are 'sticky'. With the new memory resident model this doesn't make
    sense as the server the system is started with isn't special.
    
    This patch changes the code so the prefile/postfile are used if specified
    on the commandline and not used otherwise. This makes the behaviour much
    more predictable and expected and as an added bonus simplifies the code.
    
    (Bitbake rev: 638d366234fad78f283d3a13a12b07cb0ccbe914)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/cooker.py         |   23 ++++++++++-------------
 bitbake/lib/bb/cookerdata.py     |    2 --
 bitbake/lib/bb/server/process.py |    6 ------
 3 files changed, 10 insertions(+), 21 deletions(-)
---
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index ad08c47..5ee1c0a 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -416,19 +416,16 @@ class BBCooker:
         clean = True
         for o in options:
             if o in ['prefile', 'postfile']:
-                server_val = getattr(self.configuration, "%s_server" % o, None)
-                if not options[o] and server_val:
-                    # restore value provided on server start
-                    logger.debug(1, "Restoring server value for option '%s'" % o)
-                    setattr(self.configuration, o, server_val)
-                    clean = False
-                    continue
-                if getattr(self.configuration, o) == options[o]:
-                    # Value is the same, no need to mark dirty
-                    continue
-                else:
-                    logger.debug(1, "Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
-                    clean = False
+                # Only these options may require a reparse
+                try:
+                    if getattr(self.configuration, o) == options[o]:
+                        # Value is the same, no need to mark dirty
+                        continue
+                except AttributeError:
+                    pass
+                logger.debug(1, "Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
+                print("Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
+                clean = False
             setattr(self.configuration, o, options[o])
         for k in bb.utils.approved_variables():
             if k in environment and k not in self.configuration.env:
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 197db62..d105ab7 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -127,8 +127,6 @@ class CookerConfiguration(object):
         self.extra_assume_provided = []
         self.prefile = []
         self.postfile = []
-        self.prefile_server = []
-        self.postfile_server = []
         self.debug = 0
         self.cmd = None
         self.abort = True
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index fad8aac..5c7dfae 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -405,12 +405,6 @@ class BitBakeServer(object):
         server = ProcessServer(self.bitbake_lock, self.sock, self.sockname)
         self.configuration.setServerRegIdleCallback(server.register_idle_function)
 
-        # Copy prefile and postfile to _server variants
-        for param in ('prefile', 'postfile'):
-            value = getattr(self.configuration, param)
-            if value:
-                setattr(self.configuration, "%s_server" % param, value)
-
         self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset, self.readypipein)
         server.cooker = self.cooker
         server.server_timeout = self.configuration.server_timeout


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]