Commit graph

14 commits

Author SHA1 Message Date
Jooyung Han
0d500c58aa Remove TARGET_FLATTEN_APEX
And inherit updatable_apex.mk by default.

Bug: 278826656
Test: presubmit
Change-Id: I3f93608a8750dcd72edc3f9517c70f3490f1a7cd
2023-08-25 15:06:20 +09:00
Jiyong Park
36fc9a32d7 Move ro.apex.updatable to the system partition
The decision to support updatable APEX or not used to be SoC-specific
because updatable APEX (aka non-flattened APEX) requires some kernel
feature support like loopback device. Kernel was considered as part of
BSP then. Therefore, ro.apex.updatable property was in the vendor
partition.

However, with GKI, kernel is no longer SoC-specific. And most APEXes are
installed to the system partition, which means that the decision affects
how the system partition is built. Thus, this CL moves the property to
the system partition. This enables some partners who have been using
flattened APEX to be able to upgrade to non-flattened APEX without
having to upgrade the vendor partition.

Bug: 281007951
Test: check system/build.prop
Change-Id: I81874076862f6047b9daa14518b95adcb5275064
2023-06-15 13:20:38 +09:00
Mohammad Islam
2b85e3ace5 Revert "Revert "Re-land "Enable apex compression on all devices with updatable apex""
This reverts commit b695e761f1.

Reason for revert: b/185708645 has been fixed

Bug: 169780183
Bug: 185708645
Change-Id: If0ea1168c710eeb4c90d7a9768a278a07adc48fa
Test: Manually updated APEX with same version via OTA/adb-remount and observed it was decompressed.
2021-05-18 17:45:07 +00:00
Nikita Ioffe
b695e761f1 Revert "Re-land "Enable apex compression on all devices with updatable apex"
This reverts commit 3df934b8a8.

Reason for revert: Might break weekly DF: b/185708645#comment11

Bug: 185708645
Change-Id: Ia5526e7895d27d230b1394eee666d5b3d73a08f0
2021-04-27 14:49:20 +00:00
Lucas Wei
3df934b8a8 Re-land "Enable apex compression on all devices with updatable apex
This reverts commit f8283a8bf6.

Test: device boots
Test: OTA from uncompressed apexes to compressed apexes works
Bug: 169780183
Bug: 184746992
Bug: 185082717
Change-Id: I62e379f44a1dcf8ebd2b3448dc1381cd99427b45
2021-04-15 15:45:02 +00:00
Hans Boehm
f8283a8bf6 Revert "Enable apex compression on all devices with updatable apex"
This reverts commit eaa853ad3c.

Reason for revert: breaks git_rvc-qpr-dev-plus-aosp build.

Bug: 184989544

Change-Id: Id760adaf99babe53e7cf096180032a9683587006
2021-04-10 01:06:39 +00:00
Nikita Ioffe
eaa853ad3c Enable apex compression on all devices with updatable apex
Test: atest ApexTestCases
Test: atest CtsStagedInstallHostTestCases
Test: coral boots
Test: checked OTA works
Change-Id: I12938b93731e0bb82b49d5d1f3815e899dafa0bf
2021-04-09 21:38:55 +00:00
Jiyong Park
1ea01c5b24 Organize product vars for adding properties
Properties for <partition>/build.prop are now added via
PRODUCT_<PARTITION>_PROPERTIES.

PRODUCT_SYSTEM_PROPERTIES is added. PRODUCT_SYSTEM_DEFAULT_PROPERTIES
will be deprecated.

PRODUCT_VENDOR_PROPERTIES is added. PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES will be deprecated in favor of the new
variable.

For other partitions (odm, system_ext, product), there is no change.

Exempt-From-Owner-Approval: cherry-pick from master

Bug: 117892318
Test: m
Merged-In: I98f3b5d0da661b3ad75260a23754e655103b7a44
(cherry picked from commit ad810b6dae)
Change-Id: I98f3b5d0da661b3ad75260a23754e655103b7a44
2020-06-11 15:13:41 +09:00
Dario Freni
581be147c7 Use APK CtsShim prebuilts for flattened apex.
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: Icc52500cfc0a555e11d1a467b2da0649c7f5d31f
Merged-In: Icc52500cfc0a555e11d1a467b2da0649c7f5d31f
(cherry picked from commit c9a786e5f77a5c06da6c07f718e4a7619a75d9e6)
2020-06-08 21:49:57 +00:00
Dario Freni
3e41a7f856 Move CtsShim and CtsPrivShim APKs out of system.
These packages are now available in the shim apex package, which is made
available in both flattened and unflattened apex configurations.

Bug: 138429615
Test: atest CtsPrivilegedUpdateTests CtsPermissionTestCases
CtsStagedInstallHostTestCases; (on both flattened and unflattened
configurations)
Exempt-From-Owner-Approval: approved in
https://android-review.googlesource.com/c/platform/build/+/1180943
Change-Id: I03939f6c3e711d5887da201e32173f86a6b0289e
2019-12-17 10:11:01 +00:00
Roland Levillain
b3a503df7f Introduce build variable OVERRIDE_TARGET_FLATTEN_APEX.
When `OVERRIDE_TARGET_FLATTEN_APEX` is defined (e.g. set in the
environment), `TARGET_FLATTEN_APEX` is forcibly assigned its value.

This is useful to enable/disable APEX flattening from the command
line (thus ignoring the product's default configuration), for testing
purposes.

Note: Previously it was possible to set `TARGET_FLATTEN_APEX` directly
and have the same effect, but recent changes in the build
configuration now prevent that option.

Test: Check that:
        export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && . ./build/envsetup.sh \
          && lunch aosp_walleye-userdebug \
          && export OVERRIDE_TARGET_FLATTEN_APEX=true \
          && build/soong/soong_ui.bash --dumpvar-mode TARGET_FLATTEN_APEX
      returns:
        true
Bug: 121117762

Change-Id: Ib9ccae38430340de38e4758b4f55df2c65ea60d5
2019-10-04 18:35:49 +01:00
Jiyong Park
09dcc68663 updatable_apex.mk is not inherited from mainline_system.mk
mainline_system.mk is inherited by not only Pixels but also products
like GSI and sdk_gphone where kernel isn't capable of supporting
updatable APEX.

Stop inheriting updatable_apex.mk from mainline_system.mk and let each
product to decide whether or not to inherit updatable_apex.mk.

Also, TARGET_FLATTEN_APEX is not set to true for GSI as it is the
default setting.

Bug: 132664085
Test: choosecombo 1 aosp_arm64 userdebug; get_build_var
TARGET_FLATTEN_APEX shows true
choosecombo 1 sdk_gphone userdebug; get_build_var TARGET_FLATTEN_APEX
shows true

Change-Id: I3c4e1e4b2bbebd675904d148dd18acb57ecbdfe9
Merged-In: I3c4e1e4b2bbebd675904d148dd18acb57ecbdfe9
(cherry picked from commit 5fd45bbeb0)
2019-07-02 13:38:23 +00:00
Jiyong Park
02426e6118 Ensure TARGET_FLATTEN_APEX == true when ro.apex.updatable is not set
TARGET_FLATTEN_APEX and ro.apex.updatable cannot be independently set.
For a device where updating APEXes is not supported, ro.apex.updatable
should not be set (or set to false) and TARGET_FLATTEN_APEX should be
set to true. For APEX-supporting devices, it is the opposite;
ro.apex.updatable == true and TARGET_FLATTEN_APEX is false (or not set).

To ensure this relationship, TARGET_FLATTEN_APEX is by default set to
true, and overridden to false when updatable_apex.mk is inherited.

Bug: 130623080
Test: choosecombo to Pixels 2 and later; get_build_var
TARGET_FLATTEN_APEX returns false.
choosecombo to the original Pixel and other non-Pixel targets;
get_build_var TARGET_FLATTEN_APEX returns true.
choosecombo to the cuttlefish; get_build_var TARGET_FLATTEN_APEX
returns false

Merged-In: Id73a594dd9838457e68e2793122592c11a84fc83
Change-Id: Id73a594dd9838457e68e2793122592c11a84fc83
(cherry picked from commit 18411a42f0)
2019-05-09 09:56:55 +09:00
Jiyong Park
5645a3a9a0 Add updatable_apex.mk
The product abstracts configs that need to be set to support updating of
APEXes.

Bug: 130418467
Test: m
Test: adb shell getprop ro.apex.updatable in Pixel 2 and 3
Test: adb shell /system/apex/com.android.apex.cts.shim.apex exists.
Merged-In: Idb44388a0cf6338f8b4500a1d0d2762ed59476bf
Change-Id: Idb44388a0cf6338f8b4500a1d0d2762ed59476bf
(cherry picked from commit fa51bedf8b)
2019-04-17 16:18:56 +09:00