Commit Graph

34 Commits

Author SHA1 Message Date
Tianjie Xu 81e54eddd4 resolve merge conflicts of 434697f to master
Change-Id: I0fea3d33b97065a3bf50f8e3669c2b50166a14ed
2016-10-18 15:33:23 -07:00
Tianjie Xu 8cf5c8f60f Replace minzip with libziparchive
Clean up the duplicated codes that handle the zip files in
bootable/recovery; and rename the library of the remaining
utility functions to libotautil.

Test: Update package installed successfully on angler.
Bug: 19472796

Change-Id: Iea8962fcf3004473cb0322b6bb3a9ea3ca7f679e
2016-10-17 17:41:51 -07:00
Tianjie Xu c012c3ce01 Merge "Change StringValue to use std::string" am: 2b17b24ae5 am: 430b7ae469
am: 13d8ee8c72

Change-Id: Ib8730f1656dfea01cb8dcb5a3ee50a40d13179ac
2016-10-18 00:28:30 +00:00
Tianjie Xu aced5d9e4e Change StringValue to use std::string
Changing the field of 'Value' in edify to std::string from char*.
Meanwhile cleaning up the users of 'Value' and switching them to
cpp style.

Test: compontent tests passed.
Bug: 31713288

Change-Id: Iec5a7d601b1e4ca40935bf1c70d325dafecec235
2016-10-15 01:18:23 +00:00
Tao Bao 5f3982056d Merge "edify: Some clean-ups to libedify." am: c5b4b71913 am: 039e9dc5ca am: bd16939bbf
am: 1b1a4edb4b

Change-Id: Idc74e9e549fe61c8b3bb566579821660ecf459c4
2016-10-13 18:02:46 +00:00
Tao Bao 39119ad8ec edify: Some clean-ups to libedify.
- Remove dead declarations in expr.h: SetError(), GetError(),
  ClearError().
- Remove the declaration of Build() out of expr.h.
- Use std::unordered_map to implement RegisterFunction() and
  FindFunction(); kill FinishRegistration().
- Add a testcase for calling unknown functions.

Test: mmma bootable/recovery; recovery_component_test passes.
Change-Id: I9af6825ae677f92b22d716a4a5682f58522af03b
2016-10-12 23:29:59 -07:00
Tao Bao df6da4adad Refactor libupdater into a seperate module. am: 0c7839ac14 am: cf1dbfa854 am: 8ff7cd20ba
am: 3a01338332

Change-Id: I1d03d8107d354122edbb88a817b76c490e35210c
2016-10-11 04:00:31 +00:00
Tao Bao 0c7839ac14 Refactor libupdater into a seperate module.
So that we can write native tests for updater functions. This CL adds a
testcase for getprop() function.

Test: mmma bootable/recovery; Run recovery_component_test on device.

Change-Id: Iff4c1ff63c5c71aded2f9686fed6b71cc298c228
2016-10-10 16:49:50 -07:00
Tao Bao 876b9391c0 edify: Move State.script and State.errmsg to std::string.
This way we kill a few strdup() and free() calls.

Test: 1. recovery_component_test still passes;
2. Applying an update with the new updater works;
3. The error code in a script with abort("E310: xyz") is recorded into
last_install correctly.

Change-Id: Ibda4da5937346e058a0d7cc81764d6f02920010a
(cherry picked from commit 59dcb9cbea)
2016-10-04 15:33:22 -07:00
Tao Bao 59dcb9cbea edify: Move State.script and State.errmsg to std::string.
This way we kill a few strdup() and free() calls.

Test: 1. recovery_component_test still passes;
2. Applying an update with the new updater works;
3. The error code in a script with abort("E310: xyz") is recorded into
last_install correctly.

Change-Id: Ibda4da5937346e058a0d7cc81764d6f02920010a
2016-10-04 14:24:32 -07:00
Tianjie Xu cf5c1bc87d resolve merge conflicts of 57ad046 to nyc-mr1-dev-plus-aosp
am: 894176632c

* commit '894176632c7295875d01cfdc273b706996c483a4':
  Call ioctl before each write on retry

Change-Id: I814e7c9409d94aed8733a9e1fc562394f8da1e76
2016-06-03 23:07:58 +00:00
Tianjie Xu 894176632c resolve merge conflicts of 57ad046 to nyc-mr1-dev-plus-aosp
Change-Id: I98502950a0882050f5ed1acb0549b218b2cd06e4
2016-06-03 16:01:28 -07:00
Tianjie Xu 64f46fb16c resolve merge conflicts of 7ce287d to nyc-dev-plus-aosp
Change-Id: I2194d1170281f58eb508f2ef63b39c8729125f76
2016-06-03 15:44:52 -07:00
Tianjie Xu 7ce287d432 Call ioctl before each write on retry
If the update is a retry, ioctl(BLKDISCARD) the destination blocks before
writing to these blocks.

Bug: 28990135
Change-Id: I1e703808e68ebb1292cd66afd76be8fd6946ee59
2016-06-03 12:12:50 -07:00
Tianjie Xu 8a43084979 resolve merge conflicts of 3aabd77 to nyc-mr1-dev-plus-aosp
am: 549745cc87

* commit '549745cc8778f806e46809e472fbcf3c7f066b83':
  Allow recovery to return error codes

Change-Id: I474bc0afb4e92ffafec9de60e1665e3aa3c2cf10
2016-05-23 21:28:44 +00:00
Tianjie Xu 549745cc87 resolve merge conflicts of 3aabd77 to nyc-mr1-dev-plus-aosp
Change-Id: I834aba65cb29102055ff9e70969973a7870d0e60
2016-05-23 12:30:42 -07:00
Tianjie Xu 84478e8823 resolve merge conflicts of 50f6417 to nyc-dev-plus-aosp
Change-Id: I42c127f7946e678acf6596f6352f090abc0ca019
2016-05-23 12:24:28 -07:00
Tianjie Xu 162558382b Allow recovery to return error codes
Write error code, cause code, and retry count into last_install. So we
can have more information about the reason of a failed OTA.

Example of new last_install:
@/cache/recovery/block.map     package name
0                              install result
retry: 1                       retry count (new)
error: 30                      error code (new)
cause: 12                      error cause (new)

Details in:
go/android-ota-errorcode

Bug: 28471955
Change-Id: I00e7153c821e7355c1be81a86c7f228108f3dc37
2016-05-20 13:56:53 -07:00
Elliott Hughes 844007b722 Merge "Move selinux dependencies out of header files." am: 8124750 am: dc91161
am: 5c23b80

* commit '5c23b801e5f29ca85dde4a58fde4a69faacd7c6c':
  Move selinux dependencies out of header files.

Change-Id: I191e0337501fc5520da1fa726911ffabd5d156c9
2016-04-02 16:12:29 +00:00
Elliott Hughes 4bbd5bf8a6 Move selinux dependencies out of header files.
Bug: http://b/27764900
Change-Id: Ib62a59edcb13054f40f514c404d32b87b14ed5f1
2016-04-01 18:24:39 -07:00
Jed Estep 9d8a68099f Control fault injection with config files instead of build flags am: ff6df89
am: 6f78768

* commit '6f7876816b2322169432658235ebf7882ced0564':
  Control fault injection with config files instead of build flags
2016-03-21 21:40:15 +00:00
Jed Estep ff6df890a2 Control fault injection with config files instead of build flags
Bug: 27724259
Change-Id: I65bdefed10b3fb85fcb9e1147eaf0687d7d438f4
2016-03-18 17:58:25 -07:00
Tao Bao 156de0473e resolve merge conflicts of ce58688 to nyc-dev-plus-aosp
am: 6f44637

* commit '6f446373fdda9e084e7cce86c4694f365e75951b':
  Revert "DO NOT MERGE Control fault injection with config files instead of build flags"
2016-03-17 22:57:55 +00:00
Tao Bao ce5868862a Revert "DO NOT MERGE Control fault injection with config files instead of build flags"
This reverts commit f73abf36bc.

Bug: 27724259
Change-Id: I1301fdad15650837d0b1febd0c3239134e2b94fb
2016-03-17 22:29:23 +00:00
Jed Estep f73abf36bc DO NOT MERGE Control fault injection with config files instead of build flags
Bug: 26570379
Change-Id: I76109d09276d6e3ed3a32b6fedafb2582f545c0c
2016-03-16 12:36:57 -07:00
Tianjie Xu fa12b9737d Reboot and retry on I/O errors
When I/O error happens, reboot and retry installation two times
before we abort this OTA update.

Bug: 25633753
Change-Id: Iba6d4203a343a725aa625a41d237606980d62f69
(cherry picked from commit 3c62b67faf)
2016-03-10 11:50:28 -08:00
Tianjie Xu 6289e79532 Merge "Reboot and retry on I/O errors" am: 94dc34148c am: 90f01a4203
am: 9a83ca02a3

* commit '9a83ca02a32a21f00c7328269ab2c05940928452':
  Reboot and retry on I/O errors
2016-03-08 07:47:05 +00:00
Tianjie Xu 3c62b67faf Reboot and retry on I/O errors
When I/O error happens, reboot and retry installation two times
before we abort this OTA update.

Bug: 25633753
Change-Id: Iba6d4203a343a725aa625a41d237606980d62f69
2016-03-02 17:31:05 -08:00
Jed Estep 30ed5b99f5 Merge "Control fault injection with config files instead of build flags" 2016-02-23 01:37:09 +00:00
Jed Estep 39c1b5e872 Control fault injection with config files instead of build flags
Bug: 26570379
Change-Id: I76109d09276d6e3ed3a32b6fedafb2582f545c0c
(cherry picked from commit d940887dde)
2016-02-22 17:31:12 -08:00
Jed Estep d940887dde Control fault injection with config files instead of build flags
Bug: 26570379
Change-Id: I76109d09276d6e3ed3a32b6fedafb2582f545c0c
2016-02-19 15:32:12 -08:00
Yabin Cui a029c9a458 Fix integer overflows in recovery procedure.
Bug: 26960931
Change-Id: Ieae45caccfb4728fcf514f0d920976585d8e6caf
2016-02-18 14:07:36 -08:00
Tao Bao 485b63702c recovery: Switch applypatch/ and updater/ to cpp.
Mostly trivial changes to make cpp compiler happy.

Change-Id: I1b0481465c67c3bbca35a839d0764190d84ff34e
(cherry picked from commit ba9a42aa7e)
2015-07-13 23:25:46 -07:00
Tao Bao ba9a42aa7e recovery: Switch applypatch/ and updater/ to cpp.
Mostly trivial changes to make cpp compiler happy.

Change-Id: I69bd1d96fcccf506007f6144faf37e11cfba1270
2015-07-13 17:21:31 -07:00