bitbake: HOB: MACHINE should be saved in conf files using ?=
MACHINE var is saved using early assignment operator. Calling MACHINE=x bitbake core-image-... works properly. Comment "#added by bitbake" is replaced with "#added by hob". [YOCTO #5070] (Bitbake rev: 2d0ec8ff083b636a6cf98de3278900eb95c3def6) Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
95915910df
commit
45392cc67a
|
@ -193,7 +193,10 @@ class BBCooker:
|
||||||
if op == "append":
|
if op == "append":
|
||||||
self.appendConfigurationVar(var, val, default_file)
|
self.appendConfigurationVar(var, val, default_file)
|
||||||
elif op == "set":
|
elif op == "set":
|
||||||
self.saveConfigurationVar(var, val, default_file)
|
self.saveConfigurationVar(var, val, default_file, "=")
|
||||||
|
elif op == "earlyAssign":
|
||||||
|
self.saveConfigurationVar(var, val, default_file, "?=")
|
||||||
|
|
||||||
|
|
||||||
def appendConfigurationVar(self, var, val, default_file):
|
def appendConfigurationVar(self, var, val, default_file):
|
||||||
#add append var operation to the end of default_file
|
#add append var operation to the end of default_file
|
||||||
|
@ -207,7 +210,7 @@ class BBCooker:
|
||||||
for c in contents:
|
for c in contents:
|
||||||
total += c
|
total += c
|
||||||
|
|
||||||
total += "#added by bitbake"
|
total += "#added by hob"
|
||||||
total += "\n%s += \"%s\"\n" % (var, val)
|
total += "\n%s += \"%s\"\n" % (var, val)
|
||||||
|
|
||||||
with open(default_file, 'w') as f:
|
with open(default_file, 'w') as f:
|
||||||
|
@ -218,7 +221,7 @@ class BBCooker:
|
||||||
loginfo = {"op":append, "file":default_file, "line":total.count("\n")}
|
loginfo = {"op":append, "file":default_file, "line":total.count("\n")}
|
||||||
self.data.appendVar(var, val, **loginfo)
|
self.data.appendVar(var, val, **loginfo)
|
||||||
|
|
||||||
def saveConfigurationVar(self, var, val, default_file):
|
def saveConfigurationVar(self, var, val, default_file, op):
|
||||||
|
|
||||||
replaced = False
|
replaced = False
|
||||||
#do not save if nothing changed
|
#do not save if nothing changed
|
||||||
|
@ -260,8 +263,8 @@ class BBCooker:
|
||||||
#check if the variable was saved before in the same way
|
#check if the variable was saved before in the same way
|
||||||
#if true it replace the place where the variable was declared
|
#if true it replace the place where the variable was declared
|
||||||
#else it comments it
|
#else it comments it
|
||||||
if contents[begin_line-1]== "#added by bitbake\n":
|
if contents[begin_line-1]== "#added by hob\n":
|
||||||
contents[begin_line] = "%s = \"%s\"\n" % (var, val)
|
contents[begin_line] = "%s %s \"%s\"\n" % (var, op, val)
|
||||||
replaced = True
|
replaced = True
|
||||||
else:
|
else:
|
||||||
for ii in range(begin_line, end_line):
|
for ii in range(begin_line, end_line):
|
||||||
|
@ -290,8 +293,8 @@ class BBCooker:
|
||||||
total += c
|
total += c
|
||||||
|
|
||||||
#add the variable on a single line, to be easy to replace the second time
|
#add the variable on a single line, to be easy to replace the second time
|
||||||
total += "\n#added by bitbake"
|
total += "\n#added by hob"
|
||||||
total += "\n%s = \"%s\"\n" % (var, val)
|
total += "\n%s %s \"%s\"\n" % (var, op, val)
|
||||||
|
|
||||||
with open(default_file, 'w') as f:
|
with open(default_file, 'w') as f:
|
||||||
f.write(total)
|
f.write(total)
|
||||||
|
|
|
@ -198,7 +198,7 @@ class Configuration:
|
||||||
handler.set_var_in_file("BBLAYERS", self.layers, "bblayers.conf")
|
handler.set_var_in_file("BBLAYERS", self.layers, "bblayers.conf")
|
||||||
# local.conf
|
# local.conf
|
||||||
if not defaults:
|
if not defaults:
|
||||||
handler.set_var_in_file("MACHINE", self.curr_mach, "local.conf")
|
handler.early_assign_var_in_file("MACHINE", self.curr_mach, "local.conf")
|
||||||
handler.set_var_in_file("DISTRO", self.curr_distro, "local.conf")
|
handler.set_var_in_file("DISTRO", self.curr_distro, "local.conf")
|
||||||
handler.set_var_in_file("DL_DIR", self.dldir, "local.conf")
|
handler.set_var_in_file("DL_DIR", self.dldir, "local.conf")
|
||||||
handler.set_var_in_file("SSTATE_DIR", self.sstatedir, "local.conf")
|
handler.set_var_in_file("SSTATE_DIR", self.sstatedir, "local.conf")
|
||||||
|
|
|
@ -315,7 +315,7 @@ class HobHandler(gobject.GObject):
|
||||||
|
|
||||||
def set_machine(self, machine):
|
def set_machine(self, machine):
|
||||||
if machine:
|
if machine:
|
||||||
self.set_var_in_file("MACHINE", machine, "local.conf")
|
self.early_assign_var_in_file("MACHINE", machine, "local.conf")
|
||||||
|
|
||||||
def set_sdk_machine(self, sdk_machine):
|
def set_sdk_machine(self, sdk_machine):
|
||||||
self.set_var_in_file("SDKMACHINE", sdk_machine, "local.conf")
|
self.set_var_in_file("SDKMACHINE", sdk_machine, "local.conf")
|
||||||
|
@ -472,6 +472,11 @@ class HobHandler(gobject.GObject):
|
||||||
self.server.runCommand(["setVarFile", var, val, default_file, "set"])
|
self.server.runCommand(["setVarFile", var, val, default_file, "set"])
|
||||||
self.runCommand(["disableDataTracking"])
|
self.runCommand(["disableDataTracking"])
|
||||||
|
|
||||||
|
def early_assign_var_in_file(self, var, val, default_file=None):
|
||||||
|
self.runCommand(["enableDataTracking"])
|
||||||
|
self.server.runCommand(["setVarFile", var, val, default_file, "earlyAssign"])
|
||||||
|
self.runCommand(["disableDataTracking"])
|
||||||
|
|
||||||
def append_var_in_file(self, var, val, default_file=None):
|
def append_var_in_file(self, var, val, default_file=None):
|
||||||
self.server.runCommand(["setVarFile", var, val, default_file, "append"])
|
self.server.runCommand(["setVarFile", var, val, default_file, "append"])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue