diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-07-18 12:07:22 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-07-23 20:07:48 +0100 |
commit | f4456df240054dc96d19da5d117614f736da6b94 (patch) | |
tree | be9a9888b57b212029d8cdad2e70b53ed560560a /bitbake | |
parent | 37d2066c83e9c29d10491f5d6f9410ce8fd6222a (diff) | |
download | poky-f4456df240054dc96d19da5d117614f736da6b94.tar.gz |
bitbake: toasterui: fixing event.data clash
This patch fixes a name collision on the event.data
in the MetadataEvent class. event.data is used in the
event system as a copy of "d" in certain situations,
and this collision triggered a bug leading to data loss.
[YOCTO #6332]
(Bitbake rev: 3f191b7cfe95aea4d4e96babf001d62d45dd3aaa)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/event.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 30 |
2 files changed, 16 insertions, 16 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 8b47ae5957..e2f6b9cad2 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -594,7 +594,7 @@ class MetadataEvent(Event): | |||
594 | def __init__(self, eventtype, eventdata): | 594 | def __init__(self, eventtype, eventdata): |
595 | Event.__init__(self) | 595 | Event.__init__(self) |
596 | self.type = eventtype | 596 | self.type = eventtype |
597 | self.data = eventdata | 597 | self._localdata = eventdata |
598 | 598 | ||
599 | class SanityCheck(Event): | 599 | class SanityCheck(Event): |
600 | """ | 600 | """ |
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 29cfc81ce1..f64423b733 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py | |||
@@ -596,8 +596,8 @@ class BuildInfoHelper(object): | |||
596 | ## external available methods to store information | 596 | ## external available methods to store information |
597 | 597 | ||
598 | def store_layer_info(self, event): | 598 | def store_layer_info(self, event): |
599 | assert 'data' in vars(event) | 599 | assert '_localdata' in vars(event) |
600 | layerinfos = event.data | 600 | layerinfos = event._localdata |
601 | self.internal_state['lvs'] = {} | 601 | self.internal_state['lvs'] = {} |
602 | for layer in layerinfos: | 602 | for layer in layerinfos: |
603 | self.internal_state['lvs'][self.orm_wrapper.get_update_layer_object(layerinfos[layer])] = layerinfos[layer]['version'] | 603 | self.internal_state['lvs'][self.orm_wrapper.get_update_layer_object(layerinfos[layer])] = layerinfos[layer]['version'] |
@@ -636,10 +636,10 @@ class BuildInfoHelper(object): | |||
636 | image_fstypes = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"])[0] | 636 | image_fstypes = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"])[0] |
637 | for t in self.internal_state['targets']: | 637 | for t in self.internal_state['targets']: |
638 | if t.is_image == True: | 638 | if t.is_image == True: |
639 | output_files = list(event.data.viewkeys()) | 639 | output_files = list(event._localdata.viewkeys()) |
640 | for output in output_files: | 640 | for output in output_files: |
641 | if t.target in output and output.split('.rootfs.')[1] in image_fstypes: | 641 | if t.target in output and output.split('.rootfs.')[1] in image_fstypes: |
642 | self.orm_wrapper.save_target_image_file_information(t, output, event.data[output]) | 642 | self.orm_wrapper.save_target_image_file_information(t, output, event._localdata[output]) |
643 | 643 | ||
644 | def update_build_information(self, event, errors, warnings, taskfailures): | 644 | def update_build_information(self, event, errors, warnings, taskfailures): |
645 | if 'build' in self.internal_state: | 645 | if 'build' in self.internal_state: |
@@ -647,8 +647,8 @@ class BuildInfoHelper(object): | |||
647 | 647 | ||
648 | 648 | ||
649 | def store_license_manifest_path(self, event): | 649 | def store_license_manifest_path(self, event): |
650 | deploy_dir = event.data['deploy_dir'] | 650 | deploy_dir = event._localdata['deploy_dir'] |
651 | image_name = event.data['image_name'] | 651 | image_name = event._localdata['image_name'] |
652 | path = deploy_dir + "/licenses/" + image_name + "/" | 652 | path = deploy_dir + "/licenses/" + image_name + "/" |
653 | for target in self.internal_state['targets']: | 653 | for target in self.internal_state['targets']: |
654 | if target.target in image_name: | 654 | if target.target in image_name: |
@@ -696,7 +696,7 @@ class BuildInfoHelper(object): | |||
696 | 696 | ||
697 | 697 | ||
698 | def store_tasks_stats(self, event): | 698 | def store_tasks_stats(self, event): |
699 | for (taskfile, taskname, taskstats, recipename) in event.data: | 699 | for (taskfile, taskname, taskstats, recipename) in event._localdata: |
700 | localfilepath = taskfile.split(":")[-1] | 700 | localfilepath = taskfile.split(":")[-1] |
701 | assert localfilepath.startswith("/") | 701 | assert localfilepath.startswith("/") |
702 | 702 | ||
@@ -768,7 +768,7 @@ class BuildInfoHelper(object): | |||
768 | 768 | ||
769 | 769 | ||
770 | def store_missed_state_tasks(self, event): | 770 | def store_missed_state_tasks(self, event): |
771 | for (fn, taskname, taskhash, sstatefile) in event.data['missed']: | 771 | for (fn, taskname, taskhash, sstatefile) in event._localdata['missed']: |
772 | 772 | ||
773 | identifier = fn + taskname + "_setscene" | 773 | identifier = fn + taskname + "_setscene" |
774 | recipe_information = self._get_recipe_information_from_taskfile(fn) | 774 | recipe_information = self._get_recipe_information_from_taskfile(fn) |
@@ -787,7 +787,7 @@ class BuildInfoHelper(object): | |||
787 | 787 | ||
788 | self.orm_wrapper.get_update_task_object(task_information) | 788 | self.orm_wrapper.get_update_task_object(task_information) |
789 | 789 | ||
790 | for (fn, taskname, taskhash, sstatefile) in event.data['found']: | 790 | for (fn, taskname, taskhash, sstatefile) in event._localdata['found']: |
791 | 791 | ||
792 | identifier = fn + taskname + "_setscene" | 792 | identifier = fn + taskname + "_setscene" |
793 | recipe_information = self._get_recipe_information_from_taskfile(fn) | 793 | recipe_information = self._get_recipe_information_from_taskfile(fn) |
@@ -804,15 +804,15 @@ class BuildInfoHelper(object): | |||
804 | 804 | ||
805 | 805 | ||
806 | def store_target_package_data(self, event): | 806 | def store_target_package_data(self, event): |
807 | assert 'data' in vars(event) | 807 | assert '_localdata' in vars(event) |
808 | # for all image targets | 808 | # for all image targets |
809 | for target in self.internal_state['targets']: | 809 | for target in self.internal_state['targets']: |
810 | if target.is_image: | 810 | if target.is_image: |
811 | try: | 811 | try: |
812 | pkgdata = event.data['pkgdata'] | 812 | pkgdata = event._localdata['pkgdata'] |
813 | imgdata = event.data['imgdata'][target.target] | 813 | imgdata = event._localdata['imgdata'][target.target] |
814 | self.orm_wrapper.save_target_package_information(self.internal_state['build'], target, imgdata, pkgdata, self.internal_state['recipes']) | 814 | self.orm_wrapper.save_target_package_information(self.internal_state['build'], target, imgdata, pkgdata, self.internal_state['recipes']) |
815 | filedata = event.data['filedata'][target.target] | 815 | filedata = event._localdata['filedata'][target.target] |
816 | self.orm_wrapper.save_target_file_information(self.internal_state['build'], target, filedata) | 816 | self.orm_wrapper.save_target_file_information(self.internal_state['build'], target, filedata) |
817 | except KeyError: | 817 | except KeyError: |
818 | # we must have not got the data for this image, nothing to save | 818 | # we must have not got the data for this image, nothing to save |
@@ -922,8 +922,8 @@ class BuildInfoHelper(object): | |||
922 | 922 | ||
923 | 923 | ||
924 | def store_build_package_information(self, event): | 924 | def store_build_package_information(self, event): |
925 | assert 'data' in vars(event) | 925 | assert '_localdata' in vars(event) |
926 | package_info = event.data | 926 | package_info = event._localdata |
927 | self.orm_wrapper.save_build_package_information(self.internal_state['build'], | 927 | self.orm_wrapper.save_build_package_information(self.internal_state['build'], |
928 | package_info, | 928 | package_info, |
929 | self.internal_state['recipes'], | 929 | self.internal_state['recipes'], |