summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 661cd0e3c9..6a1b649f79 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -415,17 +415,24 @@ class BBCooker:
415 self.ui_cmdline = cmdline 415 self.ui_cmdline = cmdline
416 clean = True 416 clean = True
417 for o in options: 417 for o in options:
418 if o in ['prefile', 'postfile']: 418 if o in ['prefile', 'postfile', 'tracking']:
419 clean = False 419 server_val = getattr(self.configuration, "%s_server" % o, None)
420 server_val = getattr(self.configuration, "%s_server" % o)
421 if not options[o] and server_val: 420 if not options[o] and server_val:
422 # restore value provided on server start 421 # restore value provided on server start
422 logger.debug(1, "Restoring server value for option '%s'" % o)
423 setattr(self.configuration, o, server_val) 423 setattr(self.configuration, o, server_val)
424 clean = False
425 continue
426 if getattr(self.configuration, o) == options[o]:
427 # Value is the same, no need to mark dirty
424 continue 428 continue
429 else:
430 logger.debug(1, "Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
431 clean = False
425 setattr(self.configuration, o, options[o]) 432 setattr(self.configuration, o, options[o])
426 for k in bb.utils.approved_variables(): 433 for k in bb.utils.approved_variables():
427 if k in environment and k not in self.configuration.env: 434 if k in environment and k not in self.configuration.env:
428 logger.debug(1, "Updating environment variable %s to %s" % (k, environment[k])) 435 logger.debug(1, "Updating new environment variable %s to %s" % (k, environment[k]))
429 self.configuration.env[k] = environment[k] 436 self.configuration.env[k] = environment[k]
430 clean = False 437 clean = False
431 if k in self.configuration.env and k not in environment: 438 if k in self.configuration.env and k not in environment:
@@ -435,7 +442,7 @@ class BBCooker:
435 if k not in self.configuration.env and k not in environment: 442 if k not in self.configuration.env and k not in environment:
436 continue 443 continue
437 if environment[k] != self.configuration.env[k]: 444 if environment[k] != self.configuration.env[k]:
438 logger.debug(1, "Updating environment variable %s to %s" % (k, environment[k])) 445 logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k]))
439 self.configuration.env[k] = environment[k] 446 self.configuration.env[k] = environment[k]
440 clean = False 447 clean = False
441 if not clean: 448 if not clean: