summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-27Add EROFS support for APEXHEADlineage-18.1Huang Jianan
Bug: 195274797 Test: ./apxer/runtests.sh Change-Id: I19019d2809496bfc37eca1964e58a4e04d8bbbe7 Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-09-27Add F2FS support for apexdTheotime Combes
Filesystem type used for apex_payload is retrieved when opening an APEX. Magic bytes are read are the expected offset in the filesystem. If neither f2fs magic nor ext4 magic can be found, it fails. Test: boot successfuly with ext4 apexes install succesfuly ext4 / f2fs apexes atest ApexTestCases Bug: 158453869 Change-Id: If8eb9f6f28f81cdb0915c63f51482827138bf9f8 Merged-In: If8eb9f6f28f81cdb0915c63f51482827138bf9f8
2021-09-27Add F2FS support for apexerTheotime Combes
The new flag --payload_fs_type enables the user to choose between ext4 and f2fs for apex_payload.img Test: ./runtests.sh Bug: 158453869 Change-Id: I2858d834924c5cec0f809c4f5c8b2e622b8fdf47 Merged-In: I2858d834924c5cec0f809c4f5c8b2e622b8fdf47
2021-09-27apexd: fallback to buffered IO on overlayfsmailonghua
Even though we have used buffered IO on squashfs and erofs, apexd will still fail to loop mount after adb remount. So we should allow to use buffered IO on overlayfs. Bug:174816929 Test: Boot with erofs or squashfs images after adb remount Signed-off-by: Huang Jianan <huangjianan@oppo.com> Change-Id: I2ad68bb7b1c9d9ff241a496120602ff5558c34e0
2021-09-27apexd: Allow mounting on squashfsJunichi Uekawa
O_DIRECT does not work on squashfs file systems, and will return EINVAL. Try without O_DIRECT. On boards with `BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs` apexd will fail to loop mount. Unfortunately O_DIRECT is not possible because image is compressed on disk and we do need the buffering. Bug: 167309455 Bug: 168746790 Test: tast run kukui-arc-r arc.Boot.vm Change-Id: I9da1af535cb18cebed751ecab0e250780e2df377
2021-09-27apexd: fallback to buffered IO when filesystem doesn't support DIOHuang Jianan
The new LOOP_CONFIGURE ioctl set LO_FLAGS_DIRECT_IO flag even when apex file opening failure with O_DIRECT flag, fix this. Bug: 200339094 Test: boot normal with EROFS system image after adb remount Signed-off-by: Huang Jianan <huangjianan@oppo.com> Change-Id: I55e63ebbba0c3a51c8c9640beb18209142b1fe90
2021-09-27apexd: fallback to buffered IO since EROFS doesn't support DIOGao Xiang
EROFS doesn't support DIO yet, let whitelist temporarily. Bug: 158339527 Test: Boot with EROFS images on Linux 4.19 Signed-off-by: Gao Xiang <hsiangkao@redhat.com> Change-Id: I6471479a6403d02f10840b17f3ee900745135a8c
2021-03-26Snap for 7238877 from fbb86e1f6f45da6ded3a3692ed56038ebfae409d to ↵android-build-team Robot
rvc-qpr3-release Change-Id: Ic9a62905855b2e27eb8d206ecd8949902d0ec0e9
2021-03-26Wipe sessions dir before running MigrateToMetadataSessionsDir testNikita Ioffe
Test: atest ApexTestCases Bug: 183546040 Bug: 183545537 Change-Id: I4a9e412acefa5d364a241b3a3222af5848e4d946 Merged-In: I4a9e412acefa5d364a241b3a3222af5848e4d946 (cherry picked from commit 9e8da8f32ec1cefb427ef6cbbb885c3772f6a420)
2021-01-23Snap for 7097726 from 66bd61adb95077787c37bf4aa914cb242a52d413 to ↵android-build-team Robot
rvc-qpr3-release Change-Id: Ibf9fda7c4c4a5deab725fb8cd1c41ed9eef3587e
2021-01-21Fallback to /data/apex/sessions if /metadata partition is absentNikita Ioffe
There might be devices that support updatable apex, but don't have /metadata partition. For them we need to fallback to storing sessions on /data/apex/sessions. This change implements this logic by introducing GetSessionsDir static method which will pick first existing directory between /metadata/apex/sessions and /data/apex/sessions. The evaluation will happen only once, all other calls to GetSessionsDir will return the cached value. Additionally, the logic for migrating sessions from /data/apex/sessions to /metadata/apex/sessions is changed a little bit. Now apexd will iterate over entires in /data/apex/sessions, and then recursively copy their content to the corresponding directory under /metadata/apex/sessions, and then delete the entry under /data/apex/sessions. This way a directory created by init (/data/apex/sessions) is kept, which makes it easier to write unit tests for apexd. Logic is implemented as function inside apexd_utils.h for the ease of unit testing. Test: atest ApexTestCases Test: atest apexd_host_tests Test: atest CtsStagedInstallHostTestCases Bug: 169932155 Bug: 176314162 Merged-In: Ifea8840ee5f1e56428d80bbb3b4e5e078176a578 Change-Id: Ia5e31e53edb411a023c8b090b7eb53ae977adc3e (cherry picked from commit 7ffc3f6bd74b0b5567e6425090e9d13b6f5d4172) (cherry picked from commit 69e06a1ddf509e4fc0734e044655d2b876b2bf45)
2020-08-11Use new LOOP_CONFIGURE ioctl for configuring loop devices.Martijn Coenen
This ioctl is a lot faster than LOOP_SET_FD/LOOP_SET_STATUS64, and significantly improves boot time. It may not be supported on all devices, so we need to maintain the "legacy" way of configuring loop devices. Bug: 148607611 Bug: 161575393 Test: boot on device with/without LOOP_CONFIGURE Change-Id: Iea501fabc1b83fd4e90436fa04b45c7434c069a6
2020-07-01deapexer: remove lost+found directory am: 08c223c405 am: 8be69fdd0aJooyung Han
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/12034262 Change-Id: I0e5fa9ed2e437d82d2b33aff21dbd81869fdc76b
2020-07-01deapexer: remove lost+found directory am: 08c223c405Jooyung Han
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/12034262 Change-Id: I1af10b995f132c0a8b860b4b74bf1ca06cf671ed
2020-06-30deapexer: remove lost+found directoryJooyung Han
`deapexer extract` which uses `rdump` command of `debugfs` creates `lost+found` directory as well. Because the directory is not necessary, remove it after extraction. Bug: 159711661 Test: deapexer extract <apex> <dir> <dir> should not contain lost+found directory Change-Id: I77800cb121371b796b940b5792dd16ced41da0fa
2020-06-22Add cts shim apex with prebuilts am: 330e0c85c5 am: 761f86e962Jooyung Han
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11929818 Change-Id: Ib0ec8d88a6e0cff90be5f0e5dcf36fd90a6b006f
2020-06-22Add cts shim apex with prebuilts am: 330e0c85c5Jooyung Han
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11929818 Change-Id: I30cf508a67b31f4b9160990cc354dd56ce44f291
2020-06-20Add cts shim apex with prebuiltsJooyung Han
Cts shim apex is typically installed as a prebuilts. Because prebuilt apexes don't support installing as "flattened", it would fail to be installed when PRODUCT_INSTALL_EXTRA_FLATTENED_APEXES is turned on(e.g. GSI targets) com.android.apex.cts.shim.v1_with_prebuilts is a new target which can be used in that case. For example, we can explicitly add com.android.apex.cts.shim.v1_with_prebuilts.flattened to PRODUCT_PACKAGES so that flattened cts shim apex is installed in /system_ext. Bug: 158169437 Bug: 159392784 Test: m com.android.apex.cts.shim.v1_with_prebuilts.flattened # should install the prebuilts of shim APKs Change-Id: Ie4104b4fb92096677cf101000ff492fb8cedc0fd
2020-06-16Use inclusive language in Android.bp files am: 1726687d16 am: 3e15052d4eColin Cross
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11835167 Change-Id: I487452671c62594ba715f49bd753a0e99601cca4
2020-06-16Use inclusive language in Android.bp files am: 1726687d16Colin Cross
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11835167 Change-Id: I23571ad738bb26266c2eb4dafb5e70eacf6ffd44
2020-06-13Use inclusive language in Android.bp filesColin Cross
Bug: 158889297 Test: m checkbuild Change-Id: Ic4744faf135bbc80dbf0bac2c5ad772f6b451e63
2020-06-09Merge "Use APK CtsShim prebuilts for flattened apex." into rvc-dev am: ↵TreeHugger Robot
e0be4c35ec am: 3503c0e9e7 Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11734282 Change-Id: I1aef1ed24bf2e2573fbd01dcebb8508484df47f9
2020-06-09Merge "Use APK CtsShim prebuilts for flattened apex." into rvc-dev am: ↵TreeHugger Robot
e0be4c35ec Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11734282 Change-Id: I87f0f5cb6f399eb2c5fdc64dd35837167fd7adb2
2020-06-09Merge "Use APK CtsShim prebuilts for flattened apex." into rvc-devTreeHugger Robot
2020-06-05Add more tests for api updatability am: 023c507f4d am: ab7dfe04a0Anton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686955 Change-Id: I6211c0164184e67975a9d5a43400c594b31b3aa6
2020-06-05Add more tests for api updatability am: 023c507f4dAnton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686955 Change-Id: I5f9db37342c70d8acde4568532bc4a1d5de78787
2020-06-04Use APK CtsShim prebuilts for flattened apex.Dario Freni
Fix: 158036322 Test: built flame-userdebug with m OVERRIDE_TARGET_FLATTEN_APEX=true, ran atest CtsAppSecurityHostTestCases:android.appsecurity.cts.PrivilegedUpdateTests#testDisableUpdatedSystemApp and verified that the cts shim apex is not installed Change-Id: I9d558f2ad3409b5104a9b9fc0aebb28689a822d9 Merged-In: I9d558f2ad3409b5104a9b9fc0aebb28689a822d9 (cherry picked from commit c15cbac0d961c865aaecfbd9735b37613a3751b4)
2020-06-04Add more tests for api updatabilityAnton Hansson
- Add new APIs to the test sdkextensions module, and add a test app that tries calling the new APIs - Add sdkinfo to the test media apex as well as sdkext, and verify the version gets bumped as expected Bug: 149815613 Test: atest sdkextensions_e2e_test Change-Id: I522d38d0a922fd4f5cb244ba9d61bdfd3bd3cacf
2020-06-04Move SdkExtension tests into their own subdir am: 0a45a9c212 am: 41c75cb56cAnton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686954 Change-Id: I36857c966e58479fac93cc3606594a275eada3a3
2020-06-04Move SdkExtension tests into their own subdir am: 0a45a9c212Anton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686954 Change-Id: I72ad8ef2d218f070d390c74cbc4236df1fbd98f5
2020-06-04Rename ApiExtensionsHostTestCase -> SdkExtensions... am: 769deb1915 am: ↵Anton Hansson
5aead81ac6 Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686953 Change-Id: I87a0a27f9daa2697538277597b76e052ed61beed
2020-06-04Rename ApiExtensionsHostTestCase -> SdkExtensions... am: 769deb1915Anton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/apex/+/11686953 Change-Id: I321f1b3210e0ee3683e572caf56b16cb8291b15e
2020-06-02Cleanup Apex E2E-test base class am: 8ebfc34fb8 am: 3ca1acf14bAnton Hansson
Original change: undetermined Change-Id: I928bd0debf007c186815bb2e99929a129fad1870
2020-06-02Cleanup Apex E2E-test base class am: 8ebfc34fb8Anton Hansson
Original change: undetermined Change-Id: Ie559fce73fd54bf7dd0053634521d7162c2e8b68
2020-06-01Move SdkExtension tests into their own subdirAnton Hansson
The shared directory is getting a bit messy, and I'm adding more source to the SdkExtensions test. Bug: 149815613 Test: atest sdkextensions_e2e_test Change-Id: I32f76ccf0b455cc1c62282223c0c23be64e71664
2020-06-01Rename ApiExtensionsHostTestCase -> SdkExtensions...Anton Hansson
For consistency with the rest of the module. Bug: 149815613 Test: atest sdkextensions_e2e_tests Change-Id: I5a80da23cc90e8f8dfcb7c3b205af475a1786e99
2020-06-01Cleanup Apex E2E-test base classAnton Hansson
It didn't really lend itself well to extension, so refactor the code to have util methods like install, reboot, uninstall that subclasses can use to write more involved test cases. While here, make some other improvements: - remove double-triggering of additionalCheck() - use Truth consistently instead of a weird mix - other readability improvements, like shortening lines, tweaking msgs Bug: 149815613 Test: atest sdkextensions_e2e_tests Change-Id: I1900358743eb34282682608e04b6b9fe0f36f11c
2020-05-28Merge "Delete snapshots after restore is done successfully (1/n)" into ↵JW Wang
rvc-dev am: 72bafdd2f3 am: 7d34ca25a6 Change-Id: I28456bc9d60df4e3cb23445c199af8ac6cd1c1a9
2020-05-28Merge "Delete snapshots after restore is done successfully (1/n)" into ↵JW Wang
rvc-dev am: 72bafdd2f3 Change-Id: I4af1698902df14810d925844b7e99246e0540972
2020-05-28Merge "Delete snapshots after restore is done successfully (1/n)" into rvc-devJW Wang
2020-05-27Merge "Fix ApexTestCases.ApexFileTest#VerifyApexVerity" into rvc-dev am: ↵TreeHugger Robot
881eaef947 am: 6ccf1e16dd Change-Id: I1305e6aa9ade6aa280ea1290bc35daf57c8007af
2020-05-27Merge "Fix ApexTestCases.ApexFileTest#VerifyApexVerity" into rvc-dev am: ↵TreeHugger Robot
881eaef947 Change-Id: I37123942825a654286c804c46f37b32138d5a8bb
2020-05-27Merge "Fix ApexTestCases.ApexFileTest#VerifyApexVerity" into rvc-devTreeHugger Robot
2020-05-27Update apexer_test the hashtree hash algorithm to sha256 am: 4550e7714c am: ↵Felka Chang
626a13f9ec Change-Id: Ib37d139afc3abcef1cedb8da78d609a00f9981a7
2020-05-27Update apexer_test the hashtree hash algorithm to sha256 am: 4550e7714cFelka Chang
Change-Id: I526f58bb98171fe189e8e5927799c43186d5defe
2020-05-27Fix ApexTestCases.ApexFileTest#VerifyApexVerityJooyung Han
This has been failing since 85f60588d44baa1bd9cf066fabeb3f4b3f29e323. Bug: 155771970 Bug: 157219515 Test: Treehugger (presubmit) Merged-In: I88fe0a00c67d3c47b874544d0caec7b1715d97d4 Change-Id: I88fe0a00c67d3c47b874544d0caec7b1715d97d4 (cherry picked from commit e4a7a3a11fa980739c512ffc8d8c6a7d4f68b9f4)
2020-05-27Delete snapshots after restore is done successfully (1/n)JW Wang
The snapshots are no longer needed after restore is done. We do this in keeping with the fact that apk/apex code data is deleted immediately after the rollback is committed. APK Snapshots will be handled in the next CL. See go/rollbackmanager-snapshot-deletion for more details. (Cherry-picked from d037d0fada1ab6ed534c5b3d3e460496b0f9d623) Bug: 151805360 Test: atest ApexServiceTest Merged-In: Ie2609d0a1d2f647227e3704cf8fbd01e0dd7f2e0 Change-Id: Ie2609d0a1d2f647227e3704cf8fbd01e0dd7f2e0
2020-05-26Update apexer_test the hashtree hash algorithm to sha256Felka Chang
Both apexer and apexer_test apply sha256 to be algorithm of the hashtree. This patch updates the command line 'avbtool' to apply sha256 in apexer_test.py. Fixes: 157447952 Test: atest --host apexer_test Change-Id: I5e4986e0bc54cb87d9ba5cb8fb9b545d09dc1c1d
2020-05-26Merge "Change the hashtree hash algorithm to sha256" into rvc-dev am: ↵TreeHugger Robot
ab2e845177 am: d1344003e9 Change-Id: I29ad86620e44f3e7b77e9c25470bfcb818bf832e
2020-05-26Merge "Change the hashtree hash algorithm to sha256" into rvc-dev am: ab2e845177TreeHugger Robot
Change-Id: Id934070323b88859dbd50b755caa7d28dd82a2e3