Various hob fixes
cover Various hob fixes
This series contains 3 bug fixes.
The first has been submitted previously but hasn't been applied or commented on so I've rolled it into this pull request.
Patch one and two contain bug fixes for reported issues, patch three is a minor change but a noticable one should one stumble accross it.
Please review and consider for master and the Yocto 1.1 release.
Regards,
Joshua
The following changes since commit 3e7f8afeacf7c8c8de3e87778a3907e33d4a06b3:
fetch2/git: fix subpath destination directory (2011-09-19 12:33:38 +0100)
are available in the git repository at:
git://github.com/incandescant/bitbake hob
https://github.com/incandescant/bitbake/tree/hob
Joshua Lock (3):
ui/crumbs/hobprefs: re-enable reloading of data after prefs changes
hob: fix build again when building packages only
hob: enable package only builds even if an image has been built
lib/bb/ui/crumbs/hobeventhandler.py | 13 +++++-------- lib/bb/ui/crumbs/hobprefs.py | 2 +- lib/bb/ui/hob.py | 12 ++++++++---- 3 files changed, 14 insertions(+), 13 deletions(-)
Signature · 1 line
1.7.6.2
PATCH 1/3 ui/crumbs/hobprefs: re-enable reloading of data after prefs changes
When disabling the toolchain w/ headers checkbox in an early commit I accidentally disabled too much code. This re-enables adding the custom response handler to the Preferences dialog which triggeres a reparse of the metadata when appropriate preference changes are made.
Fixes [YOCTO #1479]
--- lib/bb/ui/crumbs/hobprefs.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
lib/bb/ui/crumbs/hobprefs.py +1 -1
@@ -331,4 +331,4 @@ class HobPrefs(gtk.Dialog): # headerscheck.set_active(self.build_toolchain_headers) # headerscheck.connect("toggled", self.toggle_headers_cb) # hbox.pack_start(headerscheck, expand=False, fill=False, padding=6) - # self.connect("response", self.prefs_response_cb) + self.connect("response", self.prefs_response_cb)
Signature · 1 line
1.7.6.2
PATCH 2/3 hob: fix build again when building packages only
In reply to Joshua LockThe different code paths for package vs image builds have lead to some bit rot in the package only build and an incompatability between package only builds and the build again mechanism.
This patch unifies the code paths and fixes build again for package only builds.
Fixes [YOCTO #1480]
--- lib/bb/ui/crumbs/hobeventhandler.py | 13 +++++-------- lib/bb/ui/hob.py | 11 +++++++---- 2 files changed, 12 insertions(+), 12 deletions(-)
lib/bb/ui/crumbs/hobeventhandler.py +5 -8
@@ -71,7 +71,7 @@ class HobHandler(gobject.GObject): gobject.GObject.__init__(self) self.current_command = None - self.building = None + self.building = False self.build_toolchain = False self.build_toolchain_headers = False self.generating = False
@@ -128,10 +128,10 @@ class HobHandler(gobject.GObject): self.server.runCommand(["resetCooker"]) self.server.runCommand(["reparseFiles"]) elif self.current_command == self.BUILD_IMAGE: - self.building = "image" if self.generating: self.emit("data-generated") self.generating = False + self.building = True self.server.runCommand(["buildTargets", self.build_queue, "build"]) self.build_queue = [] self.current_command = None
@@ -247,11 +247,12 @@ class HobHandler(gobject.GObject): pmake = "-j %s" % threads self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake]) - def build_image(self, image, configurator): + def build_targets(self, tgts, configurator, build_type="image"): + self.build_type = build_type targets = [] nbbp = None nbbf = None - targets.append(image) + targets.extend(tgts) if self.build_toolchain and self.build_toolchain_headers: targets.append("meta-toolchain-sdk") elif self.build_toolchain:
@@ -284,10 +285,6 @@ class HobHandler(gobject.GObject): self.current_command = self.REPARSE_FILES self.run_next_command() - def build_packages(self, pkgs): - self.building = "packages" - self.server.runCommand(["buildTargets", pkgs, "build"]) - def cancel_build(self, force=False): if force: # Force the cooker to stop as quickly as possible
lib/bb/ui/hob.py +7 -4
@@ -459,6 +459,9 @@ class MainWindow (gtk.Window): image_name = recipepath.rstrip(".bb") path, sep, image_name = image_name.rpartition("/") + image = [] + image.append(image_name) + rep.writeRecipe(recipepath, self.model) # In the case where we saved the file for the purpose of building # it we should then delete it so that the users workspace doesn't
@@ -466,9 +469,9 @@ class MainWindow (gtk.Window): if not self.save_path: self.files_to_clean.append(recipepath) - self.handler.build_image(image_name, self.configurator) + self.handler.build_targets(image, self.configurator) else: - self.handler.build_packages(self.model.get_selected_pn()) + self.handler.build_targets(self.model.get_selected_pn(), self.configurator, "packages") # Disable parts of the menu which shouldn't be used whilst building self.set_menus_sensitive(False)
@@ -490,7 +493,7 @@ class MainWindow (gtk.Window): def build_complete_cb(self, running_build): # Have the handler process BB events again - self.handler.building = None + self.handler.building = False self.stopping = False self.back.connect("clicked", self.back_button_clicked_cb) self.back.set_sensitive(True)
@@ -504,7 +507,7 @@ class MainWindow (gtk.Window): self.files_to_clean = [] lbl = "<b>Build completed</b>\n\nClick 'Edit Image' to start another build or 'View Messages' to view the messages output during the build." - if self.handler.building == "image" and self.build_succeeded: + if self.handler.build_type == "image" and self.build_succeeded: deploy = self.handler.get_image_deploy_dir() lbl = lbl + "\n<a href=\"file://%s\" title=\"%s\">Browse folder of built images</a>." % (deploy, deploy)
Signature · 1 line
1.7.6.2
PATCH 3/3 hob: enable package only builds even if an image has been built
In reply to Joshua LockOnce an image build has been performed the selected_image variable would prevent the package only build choice being triggered - by setting the variable to None on reset we are able to perform package only builds after an image build.
--- lib/bb/ui/hob.py | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
lib/bb/ui/hob.py +1 -0
@@ -322,6 +322,7 @@ class MainWindow (gtk.Window): if response == gtk.RESPONSE_OK: self.reset_build() self.search.set_text("") + self.selected_image = None return def reset_build(self):
Signature · 1 line
1.7.6.2
Richard Purdie
AppliedQuoted 17 lines · Joshua Lock
This series contains 3 bug fixes.
The first has been submitted previously but hasn't been applied or commented on so I've rolled it into this pull request.
Patch one and two contain bug fixes for reported issues, patch three is a minor change but a noticable one should one stumble accross it.
Please review and consider for master and the Yocto 1.1 release.
Regards,
JoshuaThe following changes since commit
3e7f8afeacf7c8c8de3e87778a3907e33d4a06b3:fetch2/git: fix subpath destination directory (2011-09-19 12:33:38 +0100)
Quoted 8 lines
are available in the git repository at:
git://github.com/incandescant/bitbakehob
https://github.com/incandescant/bitbake/tree/hobJoshua Lock (3):
ui/crumbs/hobprefs: re-enable reloading of data after prefs changes
hob: fix build again when building packages only
hob: enable package only builds even if an image has been built
Merged to master, thanks.
Richard