Commit graph

7160 commits

Author SHA1 Message Date
Tianjie Xu
d7eba6248b Merge "Remove the provider_vtab"
am: 2037c60de4

Change-Id: I691e88cc2b12ac142b694b83e5756df208677dc5
2019-03-20 11:01:35 -07:00
Tianjie Xu
2037c60de4 Merge "Remove the provider_vtab" 2019-03-20 17:43:30 +00:00
Tianjie Xu
4aa4bf5e19 Merge "Create a FuseDataProvider base class"
am: eeea86f5fd

Change-Id: I9a7fc19e2897cb123a27a66f6a291a92b4653fe1
2019-03-19 13:52:17 -07:00
Tianjie Xu
eeea86f5fd Merge "Create a FuseDataProvider base class" 2019-03-19 20:34:58 +00:00
xunchang
5e6832a24d Remove the provider_vtab
It's no longer needed with the newly added FuseDataProvider class. Also
cleans up the parameters for run_fuse_sideload.

Bug: 127071893
Test: unit tests pass, run a sideload
Change-Id: I1ccd6798d187cfc6ac9f559ffb3f3edf08dad55c
2019-03-19 13:03:59 -07:00
xunchang
ea2912f187 Create a FuseDataProvider base class
The fuse data provider for adb/sdcard shares common code and structures.
This cl creates a FuseDataProvider base class and provides
implementations for adb and sdcard.

In the follow cls, we can kill the provider_vtab struct; and also add
another implementation to parse a block map file and provides data.

Test: unit tests pass, sideload a package, apply a package from sdcard
Change-Id: If8311666a52a2e3c0fbae0ee9688fa6d01e4ad09
2019-03-19 11:11:58 -07:00
Tao Bao
c4148b529a Merge "Skip calling verify_package_compatibility when resuming."
am: 98beb6414b

Change-Id: I32bc699f4f009bee490ff509bd8503d81766bf30
2019-03-18 16:21:59 -07:00
Treehugger Robot
98beb6414b Merge "Skip calling verify_package_compatibility when resuming." 2019-03-18 23:10:10 +00:00
Tao Bao
032403fb75 Skip calling verify_package_compatibility when resuming.
android::vintf::VintfObjectRecovery::CheckCompatibility() may try to
mount partitions in order to read the needed files, which may not be
feasible when resuming an interrupted update. This CL changes the logic
to enforce compatibility check on fresh install only.

Fix: 122864541
Test: Sideloading on taimen keeps working.
Test: Sideload a package by setting the retry bit. Check that
      compatibility check is skipped.
Change-Id: I018a0c802c85a0e84a6f2aac50630a677d64382a
2019-03-18 13:32:04 -07:00
Tianjie Xu
cd73207f50 Merge "Implement FilePackage class"
am: 698dc08561

Change-Id: Ie64018611e6e36ca0e9ed1539152d425c65307b3
2019-03-15 10:55:04 -07:00
Tianjie Xu
698dc08561 Merge "Implement FilePackage class" 2019-03-15 17:40:52 +00:00
xunchang
37304f3cc9 Implement FilePackage class
This is another implementation of the Package class. And we will later
need it when reading the package from FUSE.

Bug: 127071893
Test: unit tests pass, sideload a file package on sailfish
Change-Id: I3de5d5ef60b29c8b73517d6de3498459d7d95975
2019-03-14 15:35:09 -07:00
Tao Bao
37b1520682 Merge "Start charger at /system/bin/charger."
am: d5bbec7750

Change-Id: I01e153c07c33aefda9e94cde8aaed819cc52b31d
2019-03-14 10:05:17 -07:00
Tao Bao
d5bbec7750 Merge "Start charger at /system/bin/charger." 2019-03-14 16:56:29 +00:00
xunchang
b2d56cb5ff Merge "Update_verifier: Remove the support for legacy text format CareMap"
am: 2e6fbfc31e

Change-Id: If9cd6ba2cf97395d05575eeb842176bc6ab1e5bf
2019-03-14 04:10:07 -07:00
Treehugger Robot
2e6fbfc31e Merge "Update_verifier: Remove the support for legacy text format CareMap" 2019-03-14 11:00:30 +00:00
Tao Bao
6105a6fb6e Merge "update_verifier: Add some missing #include's."
am: 05f9a8e100

Change-Id: Icd531dd8a88a4c49c288edf5449e93e81ddde203
2019-03-13 19:25:35 -07:00
Treehugger Robot
05f9a8e100 Merge "update_verifier: Add some missing #include's." 2019-03-14 02:10:18 +00:00
Tao Bao
c89c394b46 update_verifier: Add some missing #include's.
<stdint.h> for uint8_t; <stdlib.h> for free(3); <thread> for
std::thread.

Test: mmma -j bootable/recovery
Test: Run unit tests on crosshatch.
Change-Id: Id99b29b3d514f4e453983599c8b1aa6b0fab4ef8
2019-03-13 15:45:39 -07:00
xunchang
aaa6103ae7 Update_verifier: Remove the support for legacy text format CareMap
We have already switched to the protobuf format for new builds, and
the downgrade packages will require a data wipe. So it should be safe
to drop the support for text format.

This also helps to save the issue when users sideload a package with a
pending OTA, because the new CareMap contains the fingerprint of the
intended build.

Bug: 128536706
Test: unit tests pass, run update_verifier with legacy CareMap
Change-Id: I1c4d0e54ec591f16cc0a65dac76767725ff9e7c4
2019-03-13 15:24:13 -07:00
Tianjie Xu
682cd4fbc4 Merge "Use the package class for wipe packages"
am: 2a33682ef5

Change-Id: I443b7120d47083bdc31412bc2d49dd61be4ba848
2019-03-12 21:54:03 -07:00
Tianjie Xu
2a33682ef5 Merge "Use the package class for wipe packages" 2019-03-13 02:11:47 +00:00
xunchang
55e3d22223 Use the package class for wipe packages
The wipe package used to open the zip file directly from the content
string. Switch to use the interface from the new package class instead.

Bug: 127071893
Test: unit tests pass
Change-Id: I990e7f00c5148710722d17140bab2e343eea3b6b
2019-03-12 15:10:41 -07:00
Tao Bao
7b8303f072 Merge "minui: Managed FDs with smart pointers."
am: fc7a0dc3a2

Change-Id: I0cddcea8559d8aa90db80be4a5f3ef5d667ad139
2019-03-12 14:23:25 -07:00
Tao Bao
fc7a0dc3a2 Merge "minui: Managed FDs with smart pointers." 2019-03-12 21:05:41 +00:00
Tao Bao
ea37122996 Merge "minui: Fix the wrong move of the callback."
am: aefc9e3ba9

Change-Id: I2bdfb43f7d161de8cda635a48547db15ce05438c
2019-03-11 16:11:13 -07:00
Tao Bao
835bf09a14 minui: Managed FDs with smart pointers.
Also clean up a few variable names.

Test: Boot into recovery. Check key inputs.
Change-Id: I058475ac22f3db8523bd8aa30ccb61be1ef45559
2019-03-11 15:59:09 -07:00
Tao Bao
aefc9e3ba9 Merge "minui: Fix the wrong move of the callback." 2019-03-11 22:51:50 +00:00
Tianjie Xu
d4f28312dc Merge "Create a wrapper class for update package"
am: ba9965199a

Change-Id: I47c82792b37d0e720ab54876915c8aba288382c7
2019-03-11 13:13:57 -07:00
Tianjie Xu
ba9965199a Merge "Create a wrapper class for update package" 2019-03-11 19:53:57 +00:00
Xin Li
c4c7abfb41 [automerger skipped] Merge "DO NOT MERGE - Merge PPRL.190305.001 into master"
am: 6c54127462 -s ours
am skip reason: subject contains skip directive

Change-Id: I77cd31b071f61d3d010af29408c732134d9b7028
2019-03-11 12:52:32 -07:00
Xin Li
645f73ac4b [automerger skipped] DO NOT MERGE - Merge PPRL.190305.001 into master
am: 3399fdabf5 -s ours
am skip reason: subject contains skip directive

Change-Id: I76691bb68b90c6cc4165c64b90daeb3bb71b77e1
2019-03-11 12:31:39 -07:00
Tao Bao
dfdf63501e minui: Fix the wrong move of the callback.
The input_cb in ev_init() should be shared among the detected input
devices.

Test: Boot into recovery. Check key inputs.
Change-Id: I0315f6a23625bacedd333fefacbf4ac6797bc1fd
2019-03-11 12:07:11 -07:00
Treehugger Robot
6c54127462 Merge "DO NOT MERGE - Merge PPRL.190305.001 into master" 2019-03-11 18:56:28 +00:00
xunchang
f07ed2efeb Create a wrapper class for update package
Creates a new class handle the package in memory and package read from fd.
Define the new interface functions, and make approximate changes to the
verify and install functions.

Bug: 127071893
Test: unit tests pass, sideload a package
Change-Id: I66ab00654df92471184536fd147b237a86e9c5b5
2019-03-11 10:43:52 -07:00
Xin Li
3399fdabf5 DO NOT MERGE - Merge PPRL.190305.001 into master
Bug: 127812889
Change-Id: Ieceaef8b4dd56737a5836dd5e968b609cd084d36
2019-03-11 09:13:10 -07:00
Tianjie Xu
de5ba7ab97 Merge "Add a new entry in wipe package to list all wipe partitions"
am: a8969842ae

Change-Id: I436eebb747d7474c5cae754e6c1d2f6ad0546b56
2019-03-07 16:51:46 -08:00
Tianjie Xu
a8969842ae Merge "Add a new entry in wipe package to list all wipe partitions" 2019-03-07 22:14:43 +00:00
xunchang
e0d991ceca Add a new entry in wipe package to list all wipe partitions
This gives us finer control over the partitions to wipe on the host
side.

Bug: 127492427
Test: unit tests pass, install a wipe package on sailfish
Change-Id: I612f8bac743a310f28e365b490ef388b278cfccb
2019-03-06 15:37:28 -08:00
Tao Bao
4e95d7503e Merge "Use O_CLOEXEC at a few places."
am: e3857ca43e

Change-Id: If5b1622ca66d0722107bdac5daef1eda823cdf20
2019-03-01 16:14:07 -08:00
Treehugger Robot
e3857ca43e Merge "Use O_CLOEXEC at a few places." 2019-03-02 00:04:26 +00:00
Tao Bao
b549243b27 Use O_CLOEXEC at a few places.
Found these FDs unintentionally propagated into forked processes (e.g.
updater) during my local debugging. Use O_CLOEXEC to avoid that.

Test: Dump open FDs in updater process.
Test: Sideload a package on taimen (which uses framebuffer).
Test: Run graphics test on taimen.
Change-Id: I1fb65dd4a103c47d28b15973def9e9359c251ca3
2019-03-01 14:24:41 -08:00
Tao Bao
a04a7d89c2 Merge "Use android::base::Pipe."
am: 21cfc8b6f4

Change-Id: Ic7c2cb62062710984fa3fbd5ed3c577cd84cd926
2019-02-28 18:29:35 -08:00
Treehugger Robot
21cfc8b6f4 Merge "Use android::base::Pipe." 2019-03-01 02:17:24 +00:00
Tao Bao
6fcd208db4 Use android::base::Pipe.
Also clean up the comments regarding updater/recovery protocol.

Test: Sideload a package on taimen. Check that /tmp/recovery.log
      contains the log from update_engine_sideload.
Test: Factory reset on taimen. Check that log file has the info from
      mke2fs.
Change-Id: If560269ce7007769fc85a63bd228813bdd75bebd
2019-02-28 15:53:28 -08:00
Zhomart Mukhamejanov
2ee3614be3 Merge "Updater updater_sample/README.md - build instructions."
am: 52db3dc12e

Change-Id: I71784d07fc6952377c5a06116f2aa0850d613ee3
2019-02-25 20:57:58 -08:00
Zhomart Mukhamejanov
52db3dc12e Merge "Updater updater_sample/README.md - build instructions." 2019-02-26 04:00:52 +00:00
Zhomart Mukhamejanov
011b5bbc06 Updater updater_sample/README.md - build instructions.
Change-Id: Icbd577e3ceeec2766eca690b529b31f562df6fb2
Test: docs only
2019-02-25 16:19:55 -08:00
Xin Li
d429ddca6b Merge "DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master" into stage-aosp-master 2019-02-21 07:04:42 +00:00
David Anderson
dbefca86b8 Merge "Add a logo to the fastbootd screen."
am: d294935bf7

Change-Id: I1cbd17fbd7636c1e5779b376c01984e9986bbcec
2019-02-20 20:18:05 -08:00