AU: when making a delta update, don't delta compress kernel partition.

This is an unfortunate and hopefully temporarly measure to address a
problem with the images people have in the field. People on dogfood
devices (with traditional BIOS) may have a USB-signed or a HD-signed
kernel partition. This was seen as okay since traditional BIOS doesn't
use the kernel partition. However, this is a problem for delta
updates, as when a delta from usb->usb kernel partitions is applied to
an hd-kernel partition, the resultant kernel partition is
invalid. While that may not seem like a problem (again, since
traditional BIOS doesn't use it to boot), the postinst script at the
end of update DOES look at the new kernel partition and bails if it's
malformed, thus causing the update to fail.

This CL causes delta images to send the kernel partition down in full
(bzip2 compressed), which solves the immediate problem. The rootfs is
still delta compressed.

Longer term, we need to find a way to know exactly what's installed on
the user's hard drive, including kernel partition, so that we can
create a delta from it.

BUG=chromium-os:6390
TEST=Tested update to a dogfood device with traditional BIOS.

Review URL: http://codereview.chromium.org/3325009
1 file changed
tree: 5ca395e035088772948492e9d1c0bf14df104f87
  1. .gitignore
  2. action.h
  3. action_mock.h
  4. action_pipe.h
  5. action_pipe_unittest.cc
  6. action_processor.cc
  7. action_processor.h
  8. action_processor_mock.h
  9. action_processor_unittest.cc
  10. action_unittest.cc
  11. bzip.cc
  12. bzip.h
  13. bzip_extent_writer.cc
  14. bzip_extent_writer.h
  15. bzip_extent_writer_unittest.cc
  16. cycle_breaker.cc
  17. cycle_breaker.h
  18. cycle_breaker_unittest.cc
  19. dbus_constants.h
  20. dbus_service.cc
  21. dbus_service.h
  22. decompressing_file_writer.cc
  23. decompressing_file_writer.h
  24. decompressing_file_writer_unittest.cc
  25. delta_diff_generator.cc
  26. delta_diff_generator.h
  27. delta_diff_generator_unittest.cc
  28. delta_performer.cc
  29. delta_performer.h
  30. delta_performer_unittest.cc
  31. download_action.cc
  32. download_action.h
  33. download_action_unittest.cc
  34. extent_mapper.cc
  35. extent_mapper.h
  36. extent_mapper_unittest.cc
  37. extent_writer.cc
  38. extent_writer.h
  39. extent_writer_unittest.cc
  40. file_writer.cc
  41. file_writer.h
  42. file_writer_unittest.cc
  43. filesystem_copier_action.cc
  44. filesystem_copier_action.h
  45. filesystem_copier_action_unittest.cc
  46. filesystem_iterator.cc
  47. filesystem_iterator.h
  48. filesystem_iterator_unittest.cc
  49. gen_coverage_html.sh
  50. generate_delta_main.cc
  51. graph_types.h
  52. graph_utils.cc
  53. graph_utils.h
  54. graph_utils_unittest.cc
  55. gzip.cc
  56. gzip.h
  57. http_fetcher.h
  58. http_fetcher_unittest.cc
  59. inherit-review-settings-ok
  60. install_plan.h
  61. integration_unittest.cc
  62. libcurl_http_fetcher.cc
  63. libcurl_http_fetcher.h
  64. LICENSE
  65. local_coverage_rate.sh
  66. main.cc
  67. marshal.list
  68. mock_file_writer.h
  69. mock_http_fetcher.cc
  70. mock_http_fetcher.h
  71. omaha_hash_calculator.cc
  72. omaha_hash_calculator.h
  73. omaha_hash_calculator_unittest.cc
  74. omaha_request_action.cc
  75. omaha_request_action.h
  76. omaha_request_action_unittest.cc
  77. omaha_request_params.cc
  78. omaha_request_params.h
  79. omaha_request_params_unittest.cc
  80. omaha_response_handler_action.cc
  81. omaha_response_handler_action.h
  82. omaha_response_handler_action_unittest.cc
  83. org.chromium.UpdateEngine.service
  84. payload_signer.cc
  85. payload_signer.h
  86. payload_signer_unittest.cc
  87. postinstall_runner_action.cc
  88. postinstall_runner_action.h
  89. postinstall_runner_action_unittest.cc
  90. prefs.cc
  91. prefs.h
  92. prefs_interface.h
  93. prefs_mock.h
  94. prefs_unittest.cc
  95. SConstruct
  96. set_bootable_flag_action.cc
  97. set_bootable_flag_action.h
  98. set_bootable_flag_action_unittest.cc
  99. setup_dev_packages
  100. simple_key_value_store.cc
  101. simple_key_value_store.h
  102. simple_key_value_store_unittest.cc
  103. split_file_writer.cc
  104. split_file_writer.h
  105. split_file_writer_unittest.cc
  106. subprocess.cc
  107. subprocess.h
  108. subprocess_unittest.cc
  109. tarjan.cc
  110. tarjan.h
  111. tarjan_unittest.cc
  112. test_http_server.cc
  113. test_http_server.py
  114. test_utils.cc
  115. test_utils.h
  116. testrunner.cc
  117. topological_sort.cc
  118. topological_sort.h
  119. topological_sort_unittest.cc
  120. unittest_key.pem
  121. update_attempter.cc
  122. update_attempter.h
  123. update_attempter_mock.h
  124. update_attempter_unittest.cc
  125. update_check_scheduler.cc
  126. update_check_scheduler.h
  127. update_check_scheduler_unittest.cc
  128. update_engine.xml
  129. update_engine_client.cc
  130. update_metadata.proto
  131. UpdateEngine.conf
  132. utils.cc
  133. utils.h
  134. utils_unittest.cc
  135. WATCHLISTS
  136. zip_unittest.cc