Commit Graph

7071 Commits

Author SHA1 Message Date
Yifan Hong
dc97097fc0 Merge "updater: add functions to modify dynamic partition metadata" am: 27aa9404fc
am: 4def1e8a54

Change-Id: I6d9d00e94329b69ab13a526a83fe9ffb47b46978
2019-01-15 16:42:36 -08:00
Yifan Hong
4def1e8a54 Merge "updater: add functions to modify dynamic partition metadata"
am: 27aa9404fc

Change-Id: I0b432e53aba06129b01b34b56e169f05a564b77c
2019-01-15 16:26:47 -08:00
Yifan Hong
27aa9404fc Merge "updater: add functions to modify dynamic partition metadata" 2019-01-16 00:10:58 +00:00
Yifan Hong
6f366ee4dd Merge "Create stash dir recursively." am: 7a0b65472b
am: 32932a48f9

Change-Id: Id2b155a768e5cec4486bd778fa26a7cc4fe32602
2019-01-14 14:11:09 -08:00
Yifan Hong
8ff84d7cfb updater: add functions to modify dynamic partition metadata
Test: sideload full OTA on cuttlefish
Test: sideload incremental OTA on cuttlefish (that grows
      system, shrinks vendor, and move vendor to group foo)
Test: verify that /cache/recovery/cc46ebfd04058569d0c6c1431c6af6c1328458e4
      exists (sha1sum of "system")

Bug: 111801737

Change-Id: Ibdf6565bc1b60f3665c01739b4c95a85f0261ae5
2019-01-14 14:01:13 -08:00
Yifan Hong
32932a48f9 Merge "Create stash dir recursively."
am: 7a0b65472b

Change-Id: I6f47807075044e6e71078db99988190ced32e157
2019-01-14 13:40:35 -08:00
Yifan Hong
7a0b65472b Merge "Create stash dir recursively." 2019-01-14 20:56:57 +00:00
Yifan Hong
63f5260c6c Create stash dir recursively.
When applying an OTA package onto the device in OTA mode,
if the recovery logs haven't been viewed, there is a chance
that /cache/recovery does not exist. Then, stash creation will
fail. Create stash directories recursively to avoid this error.

Test: without /cache/recovery, sideload the OTA on cuttlefish
Change-Id: I5cc01a067d866476a3594e795dcb5b15649e817b
2019-01-11 15:13:22 -08:00
Tao Bao
e8270a8e98 Merge "Use dynamically linked f2fs executables." am: 22a27f9965
am: ad4ce79b4d

Change-Id: I0fc7309dc6ab5a87d26677a0ed9f0d5c6f288b7a
2019-01-08 12:09:43 -08:00
Tao Bao
ad4ce79b4d Merge "Use dynamically linked f2fs executables."
am: 22a27f9965

Change-Id: If4ed2288a513510569ce9411a20cdc4c962d9803
2019-01-08 12:05:29 -08:00
Tao Bao
22a27f9965 Merge "Use dynamically linked f2fs executables." 2019-01-08 19:49:20 +00:00
Yifan Hong
d2e801fb93 Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD" am: 08a8b40c91
am: 159d267cc6

Change-Id: I7dd0df6adbe7315326064e5b660432dc60be6495
2019-01-07 17:17:40 -08:00
Yifan Hong
159d267cc6 Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD"
am: 08a8b40c91

Change-Id: Iee6860b0dbeaafc06ca881148ca4ea99abaf4b3a
2019-01-07 17:11:37 -08:00
Yifan Hong
08a8b40c91 Merge "updater: erase ignores EOPNOTSUPP for BLKDISCARD" 2019-01-08 00:06:40 +00:00
Yifan Hong
363d624d53 updater: erase ignores EOPNOTSUPP for BLKDISCARD
Test: sideload on cuttlefish
Bug: 111801737
Change-Id: I784a2142049054f38d6b70c7af7e88a451996d83
2019-01-04 15:24:52 -08:00
Tao Bao
ae8c2ca3ea Merge "minadbd: daemon_service_to_fd takes std::string_view." am: 72aa58dcf7
am: 29578b1117

Change-Id: I038edb2337aceaaa8586426d14a159c2806d9350
2019-01-02 13:33:13 -08:00
Tao Bao
29578b1117 Merge "minadbd: daemon_service_to_fd takes std::string_view."
am: 72aa58dcf7

Change-Id: I9a7d20d476e0be703657e7c332f393703a982b1a
2019-01-02 13:28:12 -08:00
Tao Bao
72aa58dcf7 Merge "minadbd: daemon_service_to_fd takes std::string_view." 2019-01-02 21:13:14 +00:00
Tao Bao
5de19e2e02 minadbd: daemon_service_to_fd takes std::string_view.
The caller of daemon_service_to_fd() in core adb has switched to
std::string_view in [1]. The mismatch breaks the sideload service, as it
picks up the wrong daemon_service_to_fd() when serving sideload.

[1] https://android-review.googlesource.com/c/platform/system/core/+/850392

Bug: 122171762
Test: `adb sideload` on taimen.
Change-Id: Ie828400768523c35c5576e2c029e38fc0ad0aff9
2019-01-02 09:40:46 -08:00
Tianjie Xu
2c08607e2b Merge "Add a horizontal line at the end of the graphic menu" am: fc0665c701
am: 095b6858dd

Change-Id: I7719a231cf36730e3a2998c9142cdf002c6e5dda
2018-12-21 11:15:58 -08:00
Tianjie Xu
095b6858dd Merge "Add a horizontal line at the end of the graphic menu"
am: fc0665c701

Change-Id: Idba56caeb2f002864ca2325fb5f130d3e25c2acc
2018-12-21 11:10:52 -08:00
Tianjie Xu
fc0665c701 Merge "Add a horizontal line at the end of the graphic menu" 2018-12-21 19:00:47 +00:00
Tao Bao
96e1f45c5d Merge "Clean up the arg setup for exec(3)." am: f0c03e62a2
am: 1b94d3a35b

Change-Id: I0423c5476723a6d7e8687ae62d01dca24e256d41
2018-12-20 14:53:19 -08:00
Tao Bao
c674dfb584 Use dynamically linked f2fs executables.
It also reduces the space cost for devices using f2fs (e.g. crosshatch).
/sbin/mkfs.f2fs   722560 => /system/bin/make_f2fs   49568
/sbin/sload.f2fs 1182456 => /system/bin/sload_f2fs 150032

Test: Build and boot recovery on crosshatch. Factory reset.
Test: Install a non-A/B OTA package that formats a f2fs partition.
Change-Id: Ibe70c8d91a1d07e1c78ff9eac19b1f7955800161
2018-12-20 14:47:11 -08:00
Tao Bao
1b94d3a35b Merge "Clean up the arg setup for exec(3)."
am: f0c03e62a2

Change-Id: I402eae7a950f10e3ceb99291db07e68dd91861e1
2018-12-20 14:36:02 -08:00
Tao Bao
f0c03e62a2 Merge "Clean up the arg setup for exec(3)." 2018-12-20 22:10:07 +00:00
xunchang
c7dbc735d2 Add a horizontal line at the end of the graphic menu
This is in line with the old behavior and the UI of TextMenu.

Bug: 121280655
Test: check the menu
Change-Id: I4b82b93187b2d02cfe5b31a9a8fb621d10dd5d8a
2018-12-20 11:36:55 -08:00
Tao Bao
3d69f0df96 Clean up the arg setup for exec(3).
Test: Build and boot into recovery on marlin. Factory reset.
Test: Build and install a non-A/B OTA that calls format.
Change-Id: I72416e775e237fc15ca5eff1036175a9eef43b76
2018-12-20 10:46:06 -08:00
Yifan Hong
081c05f395 Merge changes from topic "vintf_object_recovery_mount" am: 82fc6ae5b8
am: cc6eb0ee44

Change-Id: I8cf4a096c15d6ec8fc9239807c1b0fa698c25d36
2018-12-19 14:34:41 -08:00
Yifan Hong
a15b8d368d Move parts of roots.cpp to libfs_mgr am: 0f339e27bb
am: 6e232ed3ce

Change-Id: I0bee9493d0fe53fe4fd5150b9e81b295eefb4f70
2018-12-19 14:34:21 -08:00
Yifan Hong
cc6eb0ee44 Merge changes from topic "vintf_object_recovery_mount"
am: 82fc6ae5b8

Change-Id: I68751cdd1601bac85f4d76de18fb6d2896cb6fa9
2018-12-19 14:27:38 -08:00
Yifan Hong
6e232ed3ce Move parts of roots.cpp to libfs_mgr
am: 0f339e27bb

Change-Id: I8e933cf6fb5361735d51a387102417c2885ee816
2018-12-19 14:27:21 -08:00
Yifan Hong
82fc6ae5b8 Merge changes from topic "vintf_object_recovery_mount"
* changes:
  roots.cpp: convert to C++ Fstab
  Move parts of roots.cpp to libfs_mgr
2018-12-19 22:19:52 +00:00
Yifan Hong
0f339e27bb Move parts of roots.cpp to libfs_mgr
Move some mounting functionalities to libfs_mgr.

Test: run recovery tests

Bug: 118634720
Bug: 113182233

Change-Id: Ie59376664a744992429f0262ec96d13a1aed30f9
2018-12-18 15:57:29 -08:00
Yifan Hong
d81b8e3d77 roots.cpp: convert to C++ Fstab
Convert code to use C++ Fstab struct and C++ std::strings.

Bug: 62292478
Bug: 118634720
Test: boots
Change-Id: Ibdc1df5831bc885d7c1574419f41af026e49a137
2018-12-18 15:57:29 -08:00
Zhomart Mukhamejanov
d09708940c Merge "Add verification before downloading whole package" am: 2e7393dbde
am: e84953e9aa

Change-Id: I71194f48fb58883ab3b64371c4cf9042bf6f84bb
2018-12-17 22:35:27 -08:00
Zhomart Mukhamejanov
e84953e9aa Merge "Add verification before downloading whole package"
am: 2e7393dbde

Change-Id: Ib85a3b957d0350122fa7f004f8f7e66667cde742
2018-12-17 22:31:24 -08:00
Zhomart Mukhamejanov
2e7393dbde Merge "Add verification before downloading whole package" 2018-12-18 06:19:59 +00:00
Zhomart Mukhamejanov
c244b509ff Merge "Add PrepareUpdateService." am: 2e33cbeb20
am: 1811a6b734

Change-Id: Ibaf4cb155fe3f7043c53d070e4e05ee3c33b6721
2018-12-17 14:33:35 -08:00
Zhomart Mukhamejanov
1811a6b734 Merge "Add PrepareUpdateService."
am: 2e33cbeb20

Change-Id: I5f62286c5454ab5e44d73e99daad3345c1841024
2018-12-17 14:29:31 -08:00
Zhomart Mukhamejanov
c18d488658 Add verification before downloading whole package
UpdateEngine has a feature that verifies
payload without downloading the whole update package.

If UpdateEngine detects invalid payload,
the sample app aborts the update.

No JUnit tests, because it accesses files on the
device and migrating tests to robolectric
is not worth for this sample app.

Bug: 77150191
Test: device
Change-Id: Ib8ce73508a02cf5fdcb326d8ba46c1d05ed5efe5
2018-12-17 14:24:25 -08:00
Zhomart Mukhamejanov
2e33cbeb20 Merge "Add PrepareUpdateService." 2018-12-17 22:19:25 +00:00
Nick Kralevich
78f126e5a2 Merge "use epoll_create1" am: a8d712ec50
am: 649d2d35dc

Change-Id: I3067b7381fca78ea7ed862f81dee9efac2f69f1b
2018-12-17 14:05:25 -08:00
Nick Kralevich
649d2d35dc Merge "use epoll_create1"
am: a8d712ec50

Change-Id: I9ddf1a6a059db39ad79d45915f43d9ef6cc456a9
2018-12-17 14:01:26 -08:00
Treehugger Robot
a8d712ec50 Merge "use epoll_create1" 2018-12-17 21:57:27 +00:00
Tao Bao
b78c30c394 Merge "applypatch: Fix comparison of integers of different signs." am: dfbdaf3f1d
am: acdb8d8d18

Change-Id: I29de1277fb4eec55c615c906379c8379ca801a46
2018-12-17 13:48:12 -08:00
Tao Bao
acdb8d8d18 Merge "applypatch: Fix comparison of integers of different signs."
am: dfbdaf3f1d

Change-Id: Ic5c55cefd61bc60536a956216ed56d482110a231
2018-12-17 13:35:08 -08:00
Tao Bao
dfbdaf3f1d Merge "applypatch: Fix comparison of integers of different signs." 2018-12-17 21:22:41 +00:00
Zhomart Mukhamejanov
bc07775393 Add PrepareUpdateService.
It's moved from PrepareStreamingService intent service.
Now PrepareUpdateService takes an UpdateConfig and
builds PayloadSpec for UpdateEngine for both streaming
and non-streaming update.

It allows us to do all preparations in intent service's
thread, without blocking UI.

We will also add checksum verification to
PrepareUpdateService.

Test: device, junit
Bug: 77150191
Change-Id: I15c0bc58e3238bea6ea1c4f13063575e2def89c1
Merged-In: Iea69acd9aa41e17538c26aff60f7598093ca7744
2018-12-17 10:56:28 -08:00
Tao Bao
7ebef8fd40 applypatch: Fix comparison of integers of different signs.
bootable/recovery/applypatch/imgpatch.cpp:57:3: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
  CHECK_GT(expected_target_length, 0);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

bootable/recovery/applypatch/freecache.cpp:145:50: error: comparison of integers of different signs: 'long' and '__fsblkcnt64_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (sf.f_bsize == 0 || free_space / sf.f_bsize != sf.f_bavail) {
                         ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
bootable/recovery/applypatch/freecache.cpp:190:16: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
  if (free_now >= bytes_needed) {
      ~~~~~~~~ ^  ~~~~~~~~~~~~
bootable/recovery/applypatch/freecache.cpp:233:18: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
    if (free_now >= bytes_needed) {
        ~~~~~~~~ ^  ~~~~~~~~~~~~

Test: `mmma -j bootable/recovery/applypatch` with -Wsign-compare
Test: Run recovery_unit_test on marlin.
Change-Id: I4aa1fd0f9b7205b9e4e50874fc4bccb62951e7fe
2018-12-17 10:07:27 -08:00