diff options
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 60 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/hob.py | 2 |
2 files changed, 35 insertions, 27 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index 2f45350c32..78a50901d5 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py | |||
@@ -61,8 +61,11 @@ class HobHandler(gobject.GObject): | |||
61 | gobject.TYPE_STRING)), | 61 | gobject.TYPE_STRING)), |
62 | } | 62 | } |
63 | 63 | ||
64 | (CFG_PATH_LOCAL, CFG_PATH_HOB, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDK, FILES_MATCH_CLASS, GENERATE_TGTS) = range(8) | ||
65 | |||
64 | def __init__(self, taskmodel, server): | 66 | def __init__(self, taskmodel, server): |
65 | gobject.GObject.__init__(self) | 67 | gobject.GObject.__init__(self) |
68 | |||
66 | self.current_command = None | 69 | self.current_command = None |
67 | self.building = None | 70 | self.building = None |
68 | self.gplv3_excluded = False | 71 | self.gplv3_excluded = False |
@@ -76,30 +79,37 @@ class HobHandler(gobject.GObject): | |||
76 | 79 | ||
77 | self.image_output_types = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]).split(" ") | 80 | self.image_output_types = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]).split(" ") |
78 | 81 | ||
79 | self.command_map = { | ||
80 | "findConfigFilePathLocal" : ("findConfigFilePath", ["hob.local.conf"], "findConfigFilePathHobLocal"), | ||
81 | "findConfigFilePathHobLocal" : ("findConfigFilePath", ["bblayers.conf"], "findConfigFilePathLayers"), | ||
82 | "findConfigFilePathLayers" : ("findConfigFiles", ["DISTRO"], "findConfigFilesDistro"), | ||
83 | "findConfigFilesDistro" : ("findConfigFiles", ["MACHINE"], "findConfigFilesMachine"), | ||
84 | "findConfigFilesMachine" : ("findConfigFiles", ["MACHINE-SDK"], "findConfigFilesSdkMachine"), | ||
85 | "findConfigFilesSdkMachine" : ("findFilesMatchingInDir", ["rootfs_", "classes"], "findFilesMatchingPackage"), | ||
86 | "findFilesMatchingPackage" : ("generateTargetsTree", ["classes/image.bbclass"], None), | ||
87 | "generateTargetsTree" : (None, [], None), | ||
88 | } | ||
89 | |||
90 | def run_next_command(self): | 82 | def run_next_command(self): |
91 | # FIXME: this is ugly and I *will* replace it | 83 | if self.current_command and not self.generating: |
92 | if self.current_command: | 84 | self.emit("generating-data") |
93 | if not self.generating: | 85 | self.generating = True |
94 | self.emit("generating-data") | 86 | |
95 | self.generating = True | 87 | if self.current_command == self.CFG_PATH_LOCAL: |
96 | next_cmd = self.command_map[self.current_command] | 88 | self.current_command = self.CFG_PATH_HOB |
97 | command = next_cmd[0] | 89 | self.server.runCommand(["findConfigFilePath", "hob.local.conf"]) |
98 | argument = next_cmd[1] | 90 | elif self.current_command == self.CFG_PATH_HOB: |
99 | self.current_command = next_cmd[2] | 91 | self.current_command = self.CFG_PATH_LAYERS |
100 | args = [command] | 92 | self.server.runCommand(["findConfigFilePath", "bblayers.conf"]) |
101 | args.extend(argument) | 93 | elif self.current_command == self.CFG_PATH_LAYERS: |
102 | self.server.runCommand(args) | 94 | self.current_command = self.CFG_FILES_DISTRO |
95 | self.server.runCommand(["findConfigFiles", "DISTRO"]) | ||
96 | elif self.current_command == self.CFG_FILES_DISTRO: | ||
97 | self.current_command = self.CFG_FILES_MACH | ||
98 | self.server.runCommand(["findConfigFiles", "MACHINE"]) | ||
99 | elif self.current_command == self.CFG_FILES_MACH: | ||
100 | self.current_command = self.CFG_FILES_SDK | ||
101 | self.server.runCommand(["findConfigFiles", "MACHINE-SDK"]) | ||
102 | elif self.current_command == self.CFG_FILES_SDK: | ||
103 | self.current_command = self.FILES_MATCH_CLASS | ||
104 | self.server.runCommand(["findFilesMatchingInDir", "rootfs_", "classes"]) | ||
105 | elif self.current_command == self.FILES_MATCH_CLASS: | ||
106 | self.current_command = self.GENERATE_TGTS | ||
107 | self.server.runCommand(["generateTargetsTree", "classes/image.bbclass"]) | ||
108 | elif self.current_command == self.GENERATE_TGTS: | ||
109 | if self.generating: | ||
110 | self.emit("data-generated") | ||
111 | self.generating = False | ||
112 | self.current_command = None | ||
103 | 113 | ||
104 | def handle_event(self, event, running_build, pbar): | 114 | def handle_event(self, event, running_build, pbar): |
105 | if not event: | 115 | if not event: |
@@ -109,8 +119,6 @@ class HobHandler(gobject.GObject): | |||
109 | if self.building: | 119 | if self.building: |
110 | running_build.handle_event(event) | 120 | running_build.handle_event(event) |
111 | elif isinstance(event, bb.event.TargetsTreeGenerated): | 121 | elif isinstance(event, bb.event.TargetsTreeGenerated): |
112 | self.emit("data-generated") | ||
113 | self.generating = False | ||
114 | if event._model: | 122 | if event._model: |
115 | self.model.populate(event._model) | 123 | self.model.populate(event._model) |
116 | elif isinstance(event, bb.event.ConfigFilesFound): | 124 | elif isinstance(event, bb.event.ConfigFilesFound): |
@@ -188,7 +196,7 @@ class HobHandler(gobject.GObject): | |||
188 | selected_packages, _ = self.model.get_selected_packages() | 196 | selected_packages, _ = self.model.get_selected_packages() |
189 | self.emit("reload-triggered", img, " ".join(selected_packages)) | 197 | self.emit("reload-triggered", img, " ".join(selected_packages)) |
190 | self.server.runCommand(["reparseFiles"]) | 198 | self.server.runCommand(["reparseFiles"]) |
191 | self.current_command = "findConfigFilePathLayers" | 199 | self.current_command = self.CFG_PATH_LAYERS |
192 | self.run_next_command() | 200 | self.run_next_command() |
193 | 201 | ||
194 | def set_bbthreads(self, threads): | 202 | def set_bbthreads(self, threads): |
diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py index 09a63c6717..448d590e49 100644 --- a/bitbake/lib/bb/ui/hob.py +++ b/bitbake/lib/bb/ui/hob.py | |||
@@ -929,7 +929,7 @@ def main (server, eventHandler): | |||
929 | 929 | ||
930 | try: | 930 | try: |
931 | # kick the while thing off | 931 | # kick the while thing off |
932 | handler.current_command = "findConfigFilePathLocal" | 932 | handler.current_command = handler.CFG_PATH_LOCAL |
933 | server.runCommand(["findConfigFilePath", "local.conf"]) | 933 | server.runCommand(["findConfigFilePath", "local.conf"]) |
934 | except xmlrpclib.Fault: | 934 | except xmlrpclib.Fault: |
935 | print("XMLRPC Fault getting commandline:\n %s" % x) | 935 | print("XMLRPC Fault getting commandline:\n %s" % x) |