Index: src/platform/update_engine/update_attempter.cc |
diff --git a/src/platform/update_engine/update_attempter.cc b/src/platform/update_engine/update_attempter.cc |
index 84410addcc0005e7642504db3fed1238903454ea..e12fed9fb4324069484a7d66f4e42bbf11a1beee 100644 |
--- a/src/platform/update_engine/update_attempter.cc |
+++ b/src/platform/update_engine/update_attempter.cc |
@@ -36,14 +36,16 @@ void UpdateAttempter::Update(bool force_full_update) { |
new OmahaResponseHandlerAction); |
shared_ptr<FilesystemCopierAction> filesystem_copier_action( |
new FilesystemCopierAction(false)); |
- shared_ptr<FilesystemCopierAction> filesystem_copier_action_kernel( |
+ shared_ptr<FilesystemCopierAction> kernel_filesystem_copier_action( |
new FilesystemCopierAction(true)); |
shared_ptr<DownloadAction> download_action( |
new DownloadAction(new LibcurlHttpFetcher)); |
- shared_ptr<PostinstallRunnerAction> postinstall_runner_action( |
- new PostinstallRunnerAction); |
+ shared_ptr<PostinstallRunnerAction> postinstall_runner_action_precommit( |
+ new PostinstallRunnerAction(true)); |
shared_ptr<SetBootableFlagAction> set_bootable_flag_action( |
new SetBootableFlagAction); |
+ shared_ptr<PostinstallRunnerAction> postinstall_runner_action_postcommit( |
+ new PostinstallRunnerAction(false)); |
response_handler_action_ = response_handler_action; |
@@ -52,10 +54,13 @@ void UpdateAttempter::Update(bool force_full_update) { |
actions_.push_back(shared_ptr<AbstractAction>(response_handler_action)); |
actions_.push_back(shared_ptr<AbstractAction>(filesystem_copier_action)); |
actions_.push_back(shared_ptr<AbstractAction>( |
- filesystem_copier_action_kernel)); |
+ kernel_filesystem_copier_action)); |
actions_.push_back(shared_ptr<AbstractAction>(download_action)); |
- actions_.push_back(shared_ptr<AbstractAction>(postinstall_runner_action)); |
+ actions_.push_back(shared_ptr<AbstractAction>( |
+ postinstall_runner_action_precommit)); |
actions_.push_back(shared_ptr<AbstractAction>(set_bootable_flag_action)); |
+ actions_.push_back(shared_ptr<AbstractAction>( |
+ postinstall_runner_action_postcommit)); |
// Enqueue the actions |
for (vector<shared_ptr<AbstractAction> >::iterator it = actions_.begin(); |
@@ -69,13 +74,14 @@ void UpdateAttempter::Update(bool force_full_update) { |
BondActions(update_check_action.get(), response_handler_action.get()); |
BondActions(response_handler_action.get(), filesystem_copier_action.get()); |
BondActions(response_handler_action.get(), |
- filesystem_copier_action_kernel.get()); |
- BondActions(filesystem_copier_action_kernel.get(), |
+ kernel_filesystem_copier_action.get()); |
+ BondActions(kernel_filesystem_copier_action.get(), |
download_action.get()); |
- // TODO(adlr): Bond these actions together properly |
- // BondActions(download_action.get(), install_action.get()); |
- // BondActions(install_action.get(), postinstall_runner_action.get()); |
- BondActions(postinstall_runner_action.get(), set_bootable_flag_action.get()); |
+ BondActions(download_action.get(), postinstall_runner_action_precommit.get()); |
+ BondActions(postinstall_runner_action_precommit.get(), |
+ set_bootable_flag_action.get()); |
+ BondActions(set_bootable_flag_action.get(), |
+ postinstall_runner_action_postcommit.get()); |
processor_.StartProcessing(); |
} |