Report the progress of the update when sideloading.

update_engine_sideload now accepts a file descriptor number via a new
--status_fd flag. When applying the update, it will report back to
recovery via this file descriptor the progress of the update in the
format expected by recovery.

This patch also initializes the Subprocess singleton used during the
update.

Bug: 27178350
TEST=Executed update_engine_sideload from recovery and watched message updates.

(cherry picked from commit 40a017db5df92ab7f9c3dcd73cd736a645931c93)

Change-Id: Iee70cea7811aec634463c912f718583c53c2b58b
1 file changed
tree: d73056064f8f16d1aae776d5f1ae41bfaf2666cd
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. include/
  6. init/
  7. payload_consumer/
  8. payload_generator/
  9. sample_images/
  10. scripts/
  11. update_manager/
  12. update_payload_key/
  13. weaved/
  14. .gitignore
  15. Android.mk
  16. binder_service_android.cc
  17. binder_service_android.h
  18. binder_service_brillo.cc
  19. binder_service_brillo.h
  20. boot_control_android.cc
  21. boot_control_android.h
  22. boot_control_chromeos.cc
  23. boot_control_chromeos.h
  24. boot_control_chromeos_unittest.cc
  25. boot_control_recovery_stub.cc
  26. certificate_checker.cc
  27. certificate_checker.h
  28. certificate_checker_unittest.cc
  29. chrome_browser_proxy_resolver.cc
  30. chrome_browser_proxy_resolver.h
  31. chrome_browser_proxy_resolver_unittest.cc
  32. common_service.cc
  33. common_service.h
  34. common_service_unittest.cc
  35. connection_manager.cc
  36. connection_manager.h
  37. connection_manager_interface.h
  38. connection_manager_unittest.cc
  39. daemon.cc
  40. daemon.h
  41. daemon_state_android.cc
  42. daemon_state_android.h
  43. daemon_state_interface.h
  44. dbus_service.cc
  45. dbus_service.h
  46. dbus_test_utils.h
  47. fake_file_writer.h
  48. fake_p2p_manager.h
  49. fake_p2p_manager_configuration.h
  50. fake_shill_proxy.cc
  51. fake_shill_proxy.h
  52. fake_system_state.cc
  53. fake_system_state.h
  54. generate_pc_file.sh
  55. hardware_android.cc
  56. hardware_android.h
  57. hardware_chromeos.cc
  58. hardware_chromeos.h
  59. image_properties.h
  60. image_properties_android.cc
  61. image_properties_chromeos.cc
  62. libcros_proxy.cc
  63. libcros_proxy.h
  64. libcurl_http_fetcher.cc
  65. libcurl_http_fetcher.h
  66. libupdate_engine-client-test.pc.in
  67. libupdate_engine-client.pc.in
  68. local_coverage_rate
  69. main.cc
  70. metrics.cc
  71. metrics.h
  72. metrics_utils.cc
  73. metrics_utils.h
  74. metrics_utils_unittest.cc
  75. mock_certificate_checker.h
  76. mock_connection_manager.h
  77. mock_file_writer.h
  78. mock_omaha_request_params.h
  79. mock_p2p_manager.h
  80. mock_payload_state.h
  81. mock_proxy_resolver.h
  82. mock_update_attempter.h
  83. MODULE_LICENSE_APACHE2
  84. network_selector.h
  85. network_selector_android.cc
  86. network_selector_android.h
  87. network_selector_interface.h
  88. network_selector_stub.cc
  89. network_selector_stub.h
  90. NOTICE
  91. omaha_request_action.cc
  92. omaha_request_action.h
  93. omaha_request_action_unittest.cc
  94. omaha_request_params.cc
  95. omaha_request_params.h
  96. omaha_request_params_unittest.cc
  97. omaha_response.h
  98. omaha_response_handler_action.cc
  99. omaha_response_handler_action.h
  100. omaha_response_handler_action_unittest.cc
  101. OWNERS
  102. p2p_manager.cc
  103. p2p_manager.h
  104. p2p_manager_unittest.cc
  105. parcelable_update_engine_status.cc
  106. parcelable_update_engine_status.h
  107. payload_state.cc
  108. payload_state.h
  109. payload_state_interface.h
  110. payload_state_unittest.cc
  111. PRESUBMIT.cfg
  112. proxy_resolver.cc
  113. proxy_resolver.h
  114. real_system_state.cc
  115. real_system_state.h
  116. run_unittests
  117. sample_omaha_v3_response.xml
  118. service_delegate_android_interface.h
  119. service_observer_interface.h
  120. shill_proxy.cc
  121. shill_proxy.h
  122. shill_proxy_interface.h
  123. sideload_main.cc
  124. system_state.h
  125. tar_bunzip2.gypi
  126. test_http_server.cc
  127. testrunner.cc
  128. unittest_key.pem
  129. unittest_key2.pem
  130. update_attempter.cc
  131. update_attempter.h
  132. update_attempter_android.cc
  133. update_attempter_android.h
  134. update_attempter_unittest.cc
  135. update_engine-client.gyp
  136. update_engine.conf
  137. update_engine.gyp
  138. update_engine.rc
  139. update_engine_client.cc
  140. update_engine_client_android.cc
  141. update_metadata.proto
  142. update_status_utils.cc
  143. update_status_utils.h
  144. UpdateEngine.conf
  145. utils_android.cc
  146. utils_android.h
  147. WATCHLISTS
  148. weave_service.cc
  149. weave_service.h
  150. weave_service_factory.cc
  151. weave_service_factory.h
  152. weave_service_interface.h