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.

Change-Id: I40f5452c9220530651e8cd6cde681e39dd0a6aad
1 file changed
tree: c13477abb72557fb53eeb2ac80b211923784d34a
  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_android.cc
  38. connection_manager_android.h
  39. connection_manager_interface.h
  40. connection_manager_unittest.cc
  41. connection_utils.cc
  42. connection_utils.h
  43. daemon.cc
  44. daemon.h
  45. daemon_state_android.cc
  46. daemon_state_android.h
  47. daemon_state_interface.h
  48. dbus_connection.cc
  49. dbus_connection.h
  50. dbus_service.cc
  51. dbus_service.h
  52. dbus_test_utils.h
  53. fake_file_writer.h
  54. fake_p2p_manager.h
  55. fake_p2p_manager_configuration.h
  56. fake_shill_proxy.cc
  57. fake_shill_proxy.h
  58. fake_system_state.cc
  59. fake_system_state.h
  60. generate_pc_file.sh
  61. hardware_android.cc
  62. hardware_android.h
  63. hardware_chromeos.cc
  64. hardware_chromeos.h
  65. hardware_chromeos_unittest.cc
  66. image_properties.h
  67. image_properties_android.cc
  68. image_properties_chromeos.cc
  69. image_properties_chromeos_unittest.cc
  70. libcros_proxy.cc
  71. libcros_proxy.h
  72. libcurl_http_fetcher.cc
  73. libcurl_http_fetcher.h
  74. libupdate_engine-client-test.pc.in
  75. libupdate_engine-client.pc.in
  76. local_coverage_rate
  77. main.cc
  78. metrics.cc
  79. metrics.h
  80. metrics_utils.cc
  81. metrics_utils.h
  82. metrics_utils_unittest.cc
  83. mock_certificate_checker.h
  84. mock_connection_manager.h
  85. mock_file_writer.h
  86. mock_omaha_request_params.h
  87. mock_p2p_manager.h
  88. mock_payload_state.h
  89. mock_power_manager.h
  90. mock_proxy_resolver.h
  91. mock_update_attempter.h
  92. MODULE_LICENSE_APACHE2
  93. network_selector.h
  94. network_selector_android.cc
  95. network_selector_android.h
  96. network_selector_interface.h
  97. network_selector_stub.cc
  98. network_selector_stub.h
  99. NOTICE
  100. omaha_request_action.cc
  101. omaha_request_action.h
  102. omaha_request_action_unittest.cc
  103. omaha_request_params.cc
  104. omaha_request_params.h
  105. omaha_request_params_unittest.cc
  106. omaha_response.h
  107. omaha_response_handler_action.cc
  108. omaha_response_handler_action.h
  109. omaha_response_handler_action_unittest.cc
  110. omaha_utils.cc
  111. omaha_utils.h
  112. omaha_utils_unittest.cc
  113. OWNERS
  114. p2p_manager.cc
  115. p2p_manager.h
  116. p2p_manager_unittest.cc
  117. parcelable_update_engine_status.cc
  118. parcelable_update_engine_status.h
  119. payload_state.cc
  120. payload_state.h
  121. payload_state_interface.h
  122. payload_state_unittest.cc
  123. power_manager_android.cc
  124. power_manager_android.h
  125. power_manager_chromeos.cc
  126. power_manager_chromeos.h
  127. power_manager_interface.h
  128. PRESUBMIT.cfg
  129. proxy_resolver.cc
  130. proxy_resolver.h
  131. real_system_state.cc
  132. real_system_state.h
  133. run_unittests
  134. sample_omaha_v3_response.xml
  135. service_delegate_android_interface.h
  136. service_observer_interface.h
  137. shill_proxy.cc
  138. shill_proxy.h
  139. shill_proxy_interface.h
  140. sideload_main.cc
  141. system_state.h
  142. tar_bunzip2.gypi
  143. test_http_server.cc
  144. test_subprocess.cc
  145. testrunner.cc
  146. unittest_key.pem
  147. unittest_key2.pem
  148. update_attempter.cc
  149. update_attempter.h
  150. update_attempter_android.cc
  151. update_attempter_android.h
  152. update_attempter_unittest.cc
  153. update_engine-client.gyp
  154. update_engine.conf
  155. update_engine.gyp
  156. update_engine.rc
  157. update_engine_client.cc
  158. update_engine_client_android.cc
  159. update_metadata.proto
  160. update_status_utils.cc
  161. update_status_utils.h
  162. UpdateEngine.conf
  163. utils_android.cc
  164. utils_android.h
  165. WATCHLISTS
  166. weave_service.cc
  167. weave_service.h
  168. weave_service_factory.cc
  169. weave_service_factory.h
  170. weave_service_interface.h