summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
authorCristiana Voicu <cristiana.voicu@intel.com>2013-07-29 09:55:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-06 13:02:24 +0100
commit140744c4701bcac0dd61e11303d008f2ea34fc1b (patch)
tree56d29d44308a0c357069b6e7957317a88111c273 /bitbake/lib/bb/cooker.py
parentee4fe5a229125d01cf8b697c759d0852f9a715a8 (diff)
downloadpoky-140744c4701bcac0dd61e11303d008f2ea34fc1b.tar.gz
bitbake: hob/bitbake: create a template (a .bb file) from hob through bitbake
Modified generateNewImage function from cooker, in order to be used to save a template in Hob. Created a command to ensure that some dirs are created. The templates (recipes) will be saved in {TOPDIR}/recipes/images folder. Called these methods from Hob. [YOCTO #4193] (Bitbake rev: 96ffa00945c7eb09a0132fa47159aef3ef20fb3e) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 49e6345ce4..4a5638fb60 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1100,16 +1100,25 @@ class BBCooker:
1100 1100
1101 self.configuration.server_register_idlecallback(buildTargetsIdle, rq) 1101 self.configuration.server_register_idlecallback(buildTargetsIdle, rq)
1102 1102
1103 def generateNewImage(self, image, base_image, package_queue): 1103 def generateNewImage(self, image, base_image, package_queue, timestamp):
1104 ''' 1104 '''
1105 Create a new image with a "require" base_image statement 1105 Create a new image with a "require"/"inherit" base_image statement
1106 ''' 1106 '''
1107 image_name = os.path.splitext(image)[0] 1107 if timestamp:
1108 timestr = time.strftime("-%Y%m%d-%H%M%S") 1108 image_name = os.path.splitext(image)[0]
1109 dest = image_name + str(timestr) + ".bb" 1109 timestr = time.strftime("-%Y%m%d-%H%M%S")
1110 dest = image_name + str(timestr) + ".bb"
1111 else:
1112 if not image.endswith(".bb"):
1113 dest = image + ".bb"
1114 else:
1115 dest = image
1110 1116
1111 with open(dest, "w") as imagefile: 1117 with open(dest, "w") as imagefile:
1112 imagefile.write("require " + base_image + "\n") 1118 if base_image is None:
1119 imagefile.write("inherit image\n")
1120 else:
1121 imagefile.write("require " + base_image + "\n")
1113 package_install = "PACKAGE_INSTALL_forcevariable = \"" 1122 package_install = "PACKAGE_INSTALL_forcevariable = \""
1114 for package in package_queue: 1123 for package in package_queue:
1115 package_install += str(package) + " " 1124 package_install += str(package) + " "
@@ -1117,7 +1126,8 @@ class BBCooker:
1117 imagefile.write(package_install) 1126 imagefile.write(package_install)
1118 1127
1119 self.state = state.initial 1128 self.state = state.initial
1120 return timestr 1129 if timestamp:
1130 return timestr
1121 1131
1122 def updateCache(self): 1132 def updateCache(self):
1123 if self.state == state.running: 1133 if self.state == state.running: